ViewPager 탭 이전을 선택하고 다시 실행할 탭은 지속적으로
안녕하세요, 는이 사진에서 내 프로젝트입니다. 내 프로젝트에는 모든 페이지에 사용자 정의 listView가 있으며 listViews에는 json 데이터가 채워져 있습니다.
모든 탭의 onCreateView
이벤트 토스트 메시지에 문제가 있음을 알리고 무슨 일이 있었는지 확인했습니다.
예를 들어, 두 번째 탭을 클릭하면 "2 working"이되고 "3 worked"는 토스트 메시지가됩니다. 또한 listview에 동일한 데이터를 계속해서 추가해야합니다.
죄송합니다. 내 문제를 설명 할 수 없다면 죄송합니다.
여기 내 코드입니다.
public class TabsPagerAdapter extends FragmentPagerAdapter {
public TabsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int index) {
switch (index) {
case 0:
return new VasitaTurFragment();
.
.
.
return null;
}
@Override
public int getCount() {
// get item count - equal to number of tabs
return 6;
}
MainActivity :
public class MainActivity extends FragmentActivity implements
ActionBar.TabListener {
private ViewPager viewPager;
private TabsPagerAdapter mAdapter;
private ActionBar actionBar;
private String[] tabs = { "1", "2", "3","4","5","6" };
ModelFragment mF= new ModelFragment();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
viewPager = (ViewPager) findViewById(R.id.pager);
actionBar = getActionBar();
mAdapter = new TabsPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(mAdapter);
actionBar.setHomeButtonEnabled(false);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
for (String tab_name : tabs) {
actionBar.addTab(actionBar.newTab().setText(tab_name)
.setTabListener(this));
}
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
actionBar.setSelectedNavigationItem(position);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
}
}
조각 :
public class MenseiFragment extends Fragment {
private static final String TAG = MainActivity.class.getSimpleName();
private ProgressDialog pDialog;
private List<Mensei> menseiList = new ArrayList<Mensei>();
private ListView listView;
private menseiCLA adapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.mensei, container, false);
listView = (ListView) rootView.findViewById(R.id.listView1);
adapter = new menseiCLA(getActivity(), menseiList);
listView.setAdapter(adapter);
Toast.makeText(getActivity(),"2 worked",
Toast.LENGTH_LONG).show();
JsonArrayRequest commonReq = new JsonArrayRequest(url,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
Log.d(TAG, response.toString());
for (int i = 0; i < response.length(); i++) {
try {
JSONObject objAna = response.getJSONObject(i);
Mensei mensei = new Mensei();
.
.
menseiList.add(mensei);
} catch (JSONException e) {
e.printStackTrace();
}
}
adapter.notifyDataSetChanged();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
}
});
AppController.getInstance().addToRequestQueue(commonReq);
return rootView;
}
@Override
public void onDestroy() {
super.onDestroy();
hidePDialog();
}}