当我单击列表视图时,我想使相关按钮的可见性消失,但这仅适用于列表视图中的第一个按钮。
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Button btn = findViewById(R.id.btn_refresh);
btn.setVisibility(View.GONE);// this works for first button
}
});
答案 0 :(得分:1)
您要设置在
中选择的按钮的可见性Button btn = findViewById(R.id.btn_refresh);
不是点击的项目。
您需要做
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id {
view.setVisibility(View.GONE); // Setting the visibility of the selected view
}
});
答案 1 :(得分:1)
在这种情况下,您对按钮的定义是错误的。像这样编辑它:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Button btn = view.findViewById(R.id.btn_refresh);
btn.setVisibility(View.GONE);// this works for first button
}
});
答案 2 :(得分:0)
灵魂:
您需要首先获取要单击的项目的位置,请尝试以下操作:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id {
(your_list_view).getchildAt(position).findViewById(R.id.btn_refresh).setVisibility(View.Gone) // Setting the visibility of the selected view
}
});
希望有帮助。