BaseAdapter を拡張するアダプタ クラスの getView メソッドの最初の項目に onClickListener を設定するだけです。これは、あなたがやろうとしていることを説明するための例です。
public class CustomAdapter extends BaseAdapter{
private ArrayList<Thing> mThingArray;
public CustomAdapter(ArrayList<Thing> thingArray) {
mThingArray = thingArray;
}
// Get the data item associated with the specified position in the data set.
@Override
public Object getItem(int position) {
return thingArray.get(position);
}
// Get a View that displays the data at the specified position in the data set.
// You can either create a View manually or inflate it from an XML layout file.
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null){
// LayoutInflater class is used to instantiate layout XML file into its corresponding View objects.
LayoutInflater layoutInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
convertView = layoutInflater.inflate(R.layout.one_of_list, null);
}
TextView captionTextView = (TextView) convertView.findViewById(R.id.caption);
TextView txt2 = (TextView)findViewById(R.id.text);
captionTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(txt2.getVisibility() == View.INVISIBLE){
txt2.setVisibility(View.VISIBLE);
} else {
txt2.setVisibility(View.INVISIBLE);
}
}
});
return convertView;
}
}