I'm using drawerLayout
inside NavDrawer fragment
.
Every time when tab selected, I perform AsyncTask
to get data.
This app is not realtime, that's why I always request data from server.
I want to edit some of the parts of the Layout
.
public void onTabSelected(TabLayout.Tab tab) {
if (tab.getPosition() == 0) {
GetProfileTask getProfileTask = new GetProfileTask();
getProfileTask.execute();
} else if (tab.getPosition() == 1) {
GetGames getGames = new GetGames();
getGames.execute();
}
viewPager.setCurrentItem(tab.getPosition());
}
Inside AsyncTask
(this is what I've tried)
protected void onPostExecute(String result) {
try {
JSONObject jObject = new JSONObject(result);
JSONObject profilObject = jObject.getJSONObject("Profil");
if (profilObject != null) {
email = profilObject.getString("email");
bankName = profilObject.getString("bName");
bankAccountName = profilObject.getString("bAccName");
bankAccNum = profilObject.getString("bAccNum");
LayoutInflater inflater = getActivity().getLayoutInflater();
View v = inflater.inflate(R.layout.fragment_home_tab1, null);
TextView un = (TextView) v.findViewById(R.id.profile_username);
un.setText(profilObject.getString("username"));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
If I am doing it wrong. Please recommend how should I do it. Sorry, I am new in android.
Any help would be appreciated. Thanks.
Try using loopj or something of sort instead of asynctask , the server calls will work much better :
https://github.com/loopj/android-async-http
Other than that on post i would just change fragment and make fragments for each situation
you can use this as a refrence :
http://www.survivingwithandroid.com/2013/04/android-fragment-transaction.html
I think those will make your life a lot easier, enjoy.