0
私はAdapter
を使ってクイズを行い、各項目に複数のボタンを使用しようとしています。私はtstA ImageView
のためにonClickListener
を使います。クリック後、イメージは変更されますが、他のtstA ImageViews
イメージも変更されます(4つのアイテムごとに1つ)。これを行う正しい方法は何ですか?アダプターを使用してアイテムのビューのクリックリスナーを処理する方法は?
ここTestAdapter
の私のコードです:
public class TestsAdapter extends ArrayAdapter<TestsItem>{
Activity holder;
int layoutResourceId;
TestsItem item[];
public TestsAdapter(Context ctx, int resource, TestsItem[] testItem){
super (ctx,resource,testItem);
holder = (Activity)ctx;
layoutResourceId = resource;
item = testItem;
}
@Override
public View getView(final int position, View convertView, final ViewGroup parent) {
if (convertView==null){
LayoutInflater inflate = holder.getLayoutInflater();
convertView = inflate.inflate(layoutResourceId,parent,false);
}
final ImageView tstA = (ImageView) convertView.findViewById(R.id.tstA);
final ImageView tstB = (ImageView) convertView.findViewById(R.id.tstB);
final ImageView tstC = (ImageView) convertView.findViewById(R.id.tstC);
final ImageView tstD = (ImageView) convertView.findViewById(R.id.tstD);
tstA.setBackgroundResource(item[position].Test1);
tstB.setBackgroundResource(item[position].Test2);
tstC.setBackgroundResource(item[position].Test3);
tstD.setBackgroundResource(item[position].Test4);
tstA.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tstA.setImageResource(R.drawable.test_item_blue);
tstB.setImageResource(R.drawable.test_item_empty);
tstC.setImageResource(R.drawable.test_item_empty);
tstD.setImageResource(R.drawable.test_item_empty);
}
});
return convertView;
}
}