【发布时间】:2018-04-23 19:32:38
【问题描述】:
我有一个包含三个文本视图和一个图像视图的列表视图。其中一个文本视图的可见性在 xml 中设置为“GONE”。
但是,当我单击图像视图时,我希望列表视图中的文本可见。这是有效的,但不是只显示该行上的文本视图,而是显示另一行的文本视图。
当我单击该行时,如何仅使该行的文本视图变得可见?
这是我的代码
public class CustomListAdapter2 extends ArrayAdapter<ObjectItem> {
//to reference the Activity
private final Activity context;
private ObjectItem[] data = null;
public CustomListAdapter2(Activity context, ObjectItem[] data) {
super(context, R.layout.most_lodged_complaints, data);
this.context = context;
this.data = data;
}
public View getView(int position, View view, ViewGroup parent) {
if (view == null) {
LayoutInflater inflater = context.getLayoutInflater();
view = inflater.inflate(R.layout.most_lodged_complaints, parent, false);
}
final ObjectItem objectItem = data[position];
TextView headerTextField = (TextView) view.findViewById(R.id.list_header);
TextView detailTextField = (TextView) view.findViewById(R.id.list_detail);
final TextView textView = (TextView) view.findViewById(R.id.list_detail2);
ImageView imageView = (ImageView) view.findViewById(R.id.most_complaints_expand);
headerTextField.setText(objectItem.header);
detailTextField.setText(objectItem.detail);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
textView.setVisibility(View.VISIBLE);
}
});
return view;
};
}
注意:我已尝试使用 ViewHolder 模式,但问题仍然存在
【问题讨论】:
标签: android android-layout listview android-arrayadapter