Ну, я не знаю, что должно быть правильным заголовком для вопроса, но моя проблема довольно удивительная, не знаю, возможно ли это или нет. Вот мой вопросКак реализовать представление списка с двумя параллельными изображениями в строке
У меня есть серия изображений, и я хочу установить их в ListView. Ниже приведен ряд ListView Xml. (названный anim_list_row)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="100"
>
<ImageView
android:layout_width="0dp"
android:layout_height="350dp"
android:scaleType="fitXY"
android:id="@+id/iv_dummy_left"
android:layout_marginLeft="5dp"
android:layout_weight="50"/>
<ImageView
android:layout_width="0dp"
android:layout_height="350dp"
android:scaleType="fitXY"
android:id="@+id/iv_dummy_right"
android:layout_weight="50"
android:layout_marginRight="5dp"/>
</LinearLayout>
в этом вы можете убедиться, что я хочу, чтобы установить 2 различных изображения в двух различных скажем левый и правый ImageView. Ниже мой адаптер класса
public class MListAdapter extends BaseAdapter {
private Context context;
private ArrayList<AnimListItems> mAnimListItems;
public MListAdapter(Context context, ArrayList<AnimListItems> mAnimListItems){
this.context = context;
this.mAnimListItems = mAnimListItems;
}
@Override
public int getCount() {
return mAnimListItems.size();
}
@Override
public Object getItem(int position) {
return navDrawerItems.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater mInflater = (LayoutInflater)
context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.anim_list_row, null);
}
ImageView imgIconLeft = (ImageView) convertView.findViewById(R.id.iv_dummy_left);
ImageView imgIconRight = (ImageView) convertView.findViewById(R.id.iv_dummy_right);
//TextView txtTitle = (TextView) convertView.findViewById(R.id.title);
imgIconLeft.setImageResource(navDrawerItems.get(position).getIcon());
//if I do not do +1 here it sets same image to both left and right ImageView
imgIconRight.setImageResource(navDrawerItems.get(position+1).getIcon());
// txtTitle.setText(navDrawerItems.get(position).getTitle());
return convertView;
}
}
так вот проблема в этом виде списка работает, но он назначая те же образы как ImageView в строке. и если я +1 следующим образом
imgIconRight.setImageResource (navDrawerItems.get (положение + 1) .getIcon())
, то она помогает в изменении вида изображения на правой стороне в строка, но вторая строка повторяет изображение в его первом представлении изображения (я имею в виду, что изображение в левой части ImageView второй строки такое же, как изображение в правом ImageView первой строки.)
Итак, что такое решение
- Повторение изображений в строках.
- И как я могу получить каждый идентификатор ImageView и его ресурс изображения, чтобы я мог узнать, какое изображение было нажато. И тогда я смогу установить это изображение в ImageView другой деятельности. Я хочу сказать, что я хотел знать, какое изображение было нажато пользователем, поэтому я хочу установить одинаковое изображение в ImageView другой активности.
Это хороший ответ –