gpt4 book ai didi

android - 更改 ListView 中 TextView 的可见性

转载 作者:行者123 更新时间:2023-11-29 01:58:48 26 4
gpt4 key购买 nike

我有一个 ListView ,它由来自单独布局文件的两个 TextView 组成。我使用 BaseAdapter 从 JSON 文件构建列表。

我希望第一个 TextView (标题)是可点击的,如果单击它显示第二个 TextView (文本),如果再次单击它隐藏它。

当我使用 onClick (android:onClick="ClText") 时,出现错误。我认为我应该使用 onClickListener 之类的东西,但由于我是 Android 新手,所以我不太确定如何使用它。

有人可以帮我解决代码吗?

最佳答案

您只需为扩展 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;
}
}

关于android - 更改 ListView 中 TextView 的可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13769890/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com