2014-05-09 4 views
0

나는 다시 쓸어 넘기를 막아야하는 viewPager를 가지고 있습니다. 여기에 내 코드ViewPager의 내용이 변경되지 않습니다.

public class testActivity extends FragmentActivity 
    { 
ViewPager pager; 
LayoutInflater inflater; 
List<String> qNum; 
int id=1; 
MyPagesAdapter adapter; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.test_page); 

    qNum=new ArrayList<String>(); 
    qNum.add("1"); 
    qNum.add("2"); 
    qNum.add("3"); 
    qNum.add("4"); 
    qNum.add("5"); 
    System.out.println(qNum); 
    inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

    adapter=new MyPagesAdapter(); 

    pager = (ViewPager) findViewById(R.id.pager); 
    pager.setAdapter(adapter); 

      id = pager.getCurrentItem(); 
      System.out.println("id returns "+id); 

} 


class MyPagesAdapter extends PagerAdapter { 
    @Override 
    public int getCount() { 
     return qNum.size(); 
    } 


    @Override 
    public Object instantiateItem(ViewGroup container, int position) { 

     View view = inflater.inflate(R.layout.question_model, container,false); 
     System.out.println("current pos: "+position); 

     ((TextView)view.findViewById(R.id.numberView)).setText(String.valueOf(qNum.get(0))); 
      ((ViewPager) container).addView(view, 0); 

     if(position>id) 
     { 
      System.out.println("removes id "+qNum.get(0)); 
      qNum.remove(0); 
      System.out.println(qNum); 
      adapter.notifyDataSetChanged(); 
      id=position; 
      ((ViewPager) container).removeView((view)); 

      ((TextView)view.findViewById(R.id.numberView)).setText(String.valueOf(qNum.get(0))); 

      ((ViewPager) container).addView(view, 0); 

      return view; 
     } 
     else if(position==id) 
     { 
      System.out.println("position and id equals"); 
      ((TextView)view.findViewById(R.id.numberView)).setText(String.valueOf(qNum.get(0))); 
      ((ViewPager) container).addView(view, 0); 
      return view; 
     } 
     else if(position<id) 
      return R.layout.finish; 

      return R.layout.finish_test; 

    } 

    @Override 
    public boolean isViewFromObject(View arg0, Object arg1) { 
     return arg0==(View)arg1; 
    } 

    @Override 
    public void destroyItem(ViewGroup container, int position, Object object) { 
     ((ViewPager) container).removeView((View) object); 
     object=null; 
    } 
} 

}

내 문제는 로그 캣 올바른 목록 후 목록에서 요소를 제거 표시하지만, 에뮬레이터, 그 후 변경되지 않습니다이다 2 내가 슬쩍 얼마나 많은 시간 (난 그냥 볼 수 있습니다 질문 4 번,하지만 손가락을 내면 2 번으로 돌아 간다. 내가 바로

에 슬쩍 때 또한 제거 된 항목을 보여줍니다

내 로그 캣은

05-09 02:02:58.561: I/System.out(2252): [1, 2, 3, 4, 5] 
05-09 02:02:58.621: I/System.out(2252): id returns 0 
05-09 02:03:01.161: I/System.out(2252): current pos: 0 
05-09 02:03:01.171: I/System.out(2252): position and id equals 
05-09 02:03:01.361: I/System.out(2252): current pos: 1 
05-09 02:03:01.391: I/System.out(2252): removes id 1 
05-09 02:03:01.391: I/System.out(2252): [2, 3, 4, 5] 
05-09 02:03:28.101: I/System.out(2252): current pos: 2 
05-09 02:03:28.141: I/System.out(2252): removes id 2 
05-09 02:03:28.151: I/System.out(2252): [3, 4, 5] 
05-09 02:03:28.351: I/System.out(2252): current pos: 2 
05-09 02:03:28.381: I/System.out(2252): removes id 3 
05-09 02:03:28.381: I/System.out(2252): [4, 5] 

답변

0

당신은 아래의 문서에서 좋은 참고를도 많이 당신을 도울 수있는 그것의 샘플 프로젝트가됩니다 걸릴 수 있습니다.

http://architects.dzone.com/articles/android-tutorial-using

+0

이 그냥 내가 무슨 짓을했는지처럼, 차이는 조각과 내가 배열로 구현하는 생각이지만, 여기. 여전히 내 문제로 남아 있고, 단지 앞으로 슬쩍하고 싶다. – AndroidBeginner

관련 문제