我已使用自定义光标适配器填充了列表视图,该列表视图由以下方式的checkbox
和button
组成。
checkbox1 button1
checkbox2 button2
.
.
.
现在我想在单击列表视图中的按钮时导航到另一个活动现在我的问题是当我点击button1
然后我想要查看checkbox1中的数据以及其他行的类似情况。
现在我对如何在复选框和按钮之间保持sync
以及如何实现点击功能感到困惑,任何人都可以建议我一个出路。
由于 希瓦
答案 0 :(得分:1)
您需要在实现onclickListener
的列表视图中找到相应的视图例如
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Button b = (Button)v.findViewById(R.id.button);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i=new Intent(this,SecondActivity.Class)
startActivity(i);
}
});
//Similarly for the checkbox
}
});
答案 1 :(得分:1)
如果Button
和onClickListener
共享同一个父母
Button
CheckBox
上执行以下操作
boldButton.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View view)
{
View parentView = (View) view.getParent();
CheckBox checkBox = (CheckBox) parentView.findViewById(R.id.check);
}
});
这会为您提供与所点击的CheckBox
Button
答案 2 :(得分:1)
在适配器类中使用ViewHolder
类,并在getView()
中使用该类,然后在getView
viewHolder.yourButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(viewHolder.checkbox.isChecked())
// toggle the check and do your work here
}
});
您可以通过非常简单的
了解ViewHolder
模式here
另一个例子link
答案 3 :(得分:0)
此Selectable ListView Tutorial链接应该有助于您的解决方案。
答案 4 :(得分:0)
查看此帖子可能有所帮助。 您必须在listview中保留行的状态,以便可以使用其状态填充行。