Ich mache gerade eine Anwendung, die eine listView
haben soll, die eine textView
enthält und unter der textView
soll es eine imageView
haben, die viele Bilder enthält, aber dass ich nur ein Bild auf einmal sehen kann. Ich möchte in der Lage sein, auf dem imageView
zu wischen, so dass ich von einem Bild zu einem anderen wechseln kann, ohne die Aktivität zu verlassen. Gibt es eine Möglichkeit, eine ViewPager
wie in https://developer.android.com/training/animation/screen-slide.html zu sehen, aber haben Sie es in der listView
oder etwas ähnliches, um dies zu erreichen? Falls es hilfreich ist, habe ich meinen benutzerdefinierten Adapter hinzugefügt, der momentan nur den Text und ein Bild unterstützt.Gibt es eine Möglichkeit, einen ViewPager in eine ListView einzufügen, um von einem Bild zum anderen zu wechseln?
public class MyAdapter extends BaseAdapter {
private Context mContext;
private List<Bean> mList;
private PopupWindow popUpWindow;
private LayoutInflater inflater;
public MyAdapter(Context context,List<Bean> list){
mContext=context;
mList=list;
}
@Override
public int getCount() {
return mList.size();
}
@Override
public Object getItem(int position) {
return mList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
//use convertView recycle
if(convertView==null){
holder=new ViewHolder();
convertView = LayoutInflater.from(mContext).inflate(R.layout.content_orders, parent, false);
holder.textView= (TextView) convertView.findViewById(R.id.textView2);
holder.imageView= (ImageView) convertView.findViewById(R.id.imageView2);
holder.information= (Button) convertView.findViewById(R.id.button5);
convertView.setTag(holder);
}else{
holder = (ViewHolder) convertView.getTag();
}
//set text and url
final View finalConvertView = convertView;
holder.information.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
ViewGroup container = (ViewGroup) inflater.inflate(R.layout.information_popup, null);
popUpWindow = new PopupWindow(container, 800,400,true);
popUpWindow.showAtLocation(finalConvertView.findViewById(R.id.orders), Gravity.CENTER, 0,0);
container.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
popUpWindow.dismiss();
return true;
}
});
}
});
holder.textView.setText(mList.get(position).getText());
Picasso.with(mContext).load(mList.get(position).getUrl()).resize(500,500).into(holder.imageView);
return convertView;
}
class ViewHolder{
TextView textView;
ImageView imageView;
Button information;
Button close;
}
}