viewPage와 함께 응용 프로그램을 개발하고 있습니다. 내 응용 프로그램에서 List.After에서 보여주는 항목이 있습니다. 클릭하면 나는 Adapter.Now와 함께 ViewPager를 호출하는 SherlockFragmentActivity를 호출합니다. 문제는 내가 플립 때 FragmentPagerAdapter에서의 getItem은 하나의 time.Also 여러 위치를 줄입니다 되돌아 가기 다음도 giveing 잘못 position.Here는FragmentPagerAdapter에서 여러 시간 호출()
ViewPager 코드 내 코드입니다 : -
private void initialisePaging() {
//Adapter Context;
this.mPagerAdapter = new MyPagerAdapter(
super.getSupportFragmentManager(), getApplicationContext(),
title, link, description);
ViewPager pager = (ViewPager) super.findViewById(R.id.viewpager);
pager.setAdapter(this.mPagerAdapter);
//Take position from ListView & set postion .
pager.setCurrentItem(post_position);
}
내 어댑터 클래스 세트에 대한 책임이있는 조각 : -
문제 : - 문제는 getItem입니다. 3 번 호출 & 4 개 항목을 클릭하여 3,4,5 번을 클릭한다고 가정합니다.
public MyPagerAdapter(FragmentManager fm, Context cont,
ArrayList<String> title, ArrayList<String> link,
ArrayList<String> description) {
super(fm);
this.context = cont;
this.key_desc = description;
this.key_link = link;
this.key_title = title;
viewPagerApplication = (RssItem) cont;
}
@Override
public Fragment getItem(int position) {
return Fragment0.newInstance(position, this.context, key_title,
key_link, key_desc);
}
@Override
public int getCount() {
return key_title.size();
}
My Fragment Class:-
Problem:-Here if i show postion in textview its correct position but if i want take position in logcat for further parsing its giving me again 4,3,5 number which is also diffrent from getItem();
public static Fragment0 newInstance(int num,Context cont, ArrayList<String> key_title, ArrayList<String> key_link, ArrayList<String> key_desc) {
context=cont;
Fragment0 f = new Fragment0();
Bundle args = new Bundle();
args.putInt("num", num);
f.setArguments(args);
return f;
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
};
public int getShownIndex() {
return getArguments().getInt("num", 0);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.newsdetailfragment_screen, container, false);
tv = v.findViewById(R.id.headingtextview_id);
((TextView)tv).setText(String.valueOf(getShownIndex()));
((TextView)tv).setTextColor(Color.BLACK);
((TextView)tv).setTextSize(20);
return v;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
지금 친절하게 내가 더 공정에 대한 하나의 정확한 위치를 얻을 수있는 방법 &을 잘못 어딘지 알려주세요.
감사합니다. Marcin 님의 답변입니다. – yokees