0

是否有可能用户查看传呼机没有片段。我谷歌它,所有的例子使用片段查看寻呼机。我希望寻呼机只从我的列表中加载一个项目,所以我想问是否有可能。这里是我主要活动的代码,我想使用UpdateDisplay for viewpager。有什么建议么。传呼机适配器与私人方法没有片段在Android

public class MainActivity extends Activity implements OnClickListener{ 

private Button prev, next; 
private TextView tv; 
private int number = 0; 
private ArrayList<Integer> numbers; 
private ViewPager pager; 
private MyPagerAdapter adapter; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    prev = (Button) findViewById(R.id.prevButton); 
    prev.setOnClickListener(this); 
    next = (Button) findViewById(R.id.nextButton); 
    next.setOnClickListener(this); 
    numbers = new ArrayList<Integer>(); 
    for (int i=0;i<5;i++){ 
     numbers.add(i); 
     Log.i("Sljedece elemente dodaje u listu", String.valueOf(i)); 
    } 
    tv = (TextView) findViewById(R.id.rezultatTextView); 
    pager = (ViewPager) findViewById(R.id.pager); 
    adapter = new MyPagerAdapter(); 
    pager.setAdapter(adapter); 

    updateDIsplay(number); 
} 

@Override 
public void onClick(View v) { 

    switch(v.getId()){ 
    case R.id.prevButton: 
     number--; 
     if (number==-1){ 
      number = 4; 
     } 
     updateDIsplay(number); 
     break; 
    case R.id.nextButton: 
     number++; 
     if (number==5){ 
      number = 0; 
     } 
     updateDIsplay(number); 
     break; 
    } 

} 

private void updateDIsplay(int z){ 

    tv.setText(String.valueOf(numbers.get(z))); 

} 

private class MyPagerAdapter extends PagerAdapter{ 

    @Override 
    public int getCount() { 
     return numbers.size(); 
    } 

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

} 

}

回答

0

是有可能。使用PageAdapter。当instantiateItem被调用时,你可以膨胀/实例化你的视图,并将其传递给容器。例如:

private class MyPagerAdapter extends PagerAdapter { 

    @Override 
    public Object instantiateItem(ViewGroup container, int position) { 
     TextView view = new TextView(PagerActivity.this); 
     view.setText("Item "+position); 
     view.setGravity(Gravity.CENTER); 
     view.setBackgroundColor(Color.argb(255, position * 50, position * 10, position * 50)); 

     container.addView(view); 
     return view; 
    } 

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

    @Override 
    public int getCount() { 
     return 5; 
    } 

    @Override 
    public boolean isViewFromObject(View view, Object object) { 
     return (view == object); 
    } 
} 
+0

您可以不用添加新的textview,而是使用我已经声明的那个。唯一需要的是当用户在屏幕上滑动时调用方法updateDIsplay。所以我不需要任何其他的textview,只需要调用方法updateDisplay(position)。我可以在传呼机中做到这一点,或者这是可以接受的。 – 2015-02-06 15:39:12

相关问题