2017-04-11 5 views
-4

Es gibt eine Liste von Namen und ich möchte jeweils einen Namen auf dem mobilen Bildschirm anzeigen und die Aktivität verschieben, um einen anderen Namen zu sehen. Versucht, den Viewpager zu verwenden, aber es ist ihm gelungen, nur eine Textansicht für mehrere Male zu zeigen, und nicht, wie man list in viewpager implementiert.Zeige einen Listeneintrag gleichzeitig - Android

+1

hilft posten Sie Ihre Code

adapter = new ViewPagerAdapter(Image.this, flag);//Here Flag is array viewPager.setAdapter(adapter); viewPager.setCurrentItem(possition); 

Hoffnung hinzufügen ... – user2025187

Antwort

1

Sie müssen einen benutzerdefinierten Adapter für diesen Zweck erstellen, der Ihre Array-Liste enthält und Ihre Daten in TextView auffüllt.

Zuerst machen Individuelle Adapter

public class ViewPagerAdapter extends PagerAdapter { 
// Declare Variables 

Context context; 
int[] flag; 
LayoutInflater inflater; 
int pos; 
public ViewPagerAdapter(Context context, int[] flag) { 
    this.context = context; 
    this.flag = flag; 
} 
public ViewPagerAdapter (Context context, int[] flag, int position){ 
    this.context = context; 
    this.flag = flag; 
    this.pos = position; 
} 

@Override 
public int getCount() { 
    return flag.length; 
} 

@Override 
public boolean isViewFromObject(View view, Object object) { 
    return view == ((RelativeLayout) object); 
} 
@Override 
public Object instantiateItem(ViewGroup container, int position) { 

    // Declare Variables 

    TextView txt; 

    inflater = (LayoutInflater) context 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View itemView = inflater.inflate(R.layout.viewpager_item, container, 
      false); 
    // Locate the ImageView in viewpager_item.xml 
    txt= (TextView) itemView.findViewById(R.id.flag); 
    // Capture position and set to the ImageView 
    txt.setText(flag[position]); 
    txt.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) {    
     } 
    }); 
    // Add viewpager_item.xml to ViewPager 
    ((ViewPager) container).addView(itemView); 

    return itemView; 
} 
@Override 
public void destroyItem(ViewGroup container, int position, Object object) { 
    // Remove viewpager_item.xml from ViewPager 
    ((ViewPager) container).removeView((RelativeLayout) object); 
} 
} 

Jetzt Adapter an Ihren viewPager wie diese diese

Verwandte Themen