ObA*_*bAt 6 android listview onitemclicklistener
我试图做一个习惯ListView.ListView包含一个RelativeLayout包含a TextView和a的人Switch.当您按下Switch时,Switch必须从true更改为false(反之亦然).
这是我的getView方法:
public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
if (convertView == null)
vi = inflater.inflate(R.layout.item_gproblem, null);
//vi.setClickable(true); Tried this
//vi.setFocusable(true);
TextView txt_comment_description = (TextView) vi
.findViewById(R.id.txt_comment_description);
txt_comment_description.setText(MyTasks.allGComments.get(position)
.getProblemDescription());
//txt_comment_description.setFocusable(false); Tried this
//txt_comment_description.setClickable(false);
Switch switch_comment = (Switch) vi.findViewById(R.id.switch_comment);
//switch_comment.setFocusable(false); Tried this
//switch_comment.setClickable(false);
//First time running getMyGComments returns a empty ArrayList
if (MyTasks.allCustomers.get(ServerData.myID - 1).getMyGComments()
.size() > position) {
switch_comment.setChecked(MyTasks.allCustomers
.get(ServerData.myID - 1).getMyGComments().get(position)
.isProblemValue());
}
return vi;
}
Run Code Online (Sandbox Code Playgroud)
这是我的onClickListener:
list_quality.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
//Do Something
}
});
Run Code Online (Sandbox Code Playgroud)
我onItemClickListener当我点击TextView的,交换机或在两个物体之间的空间没有被调用.当我按下开关时,开关正常工作(状态改变).但我onItemClickListener没有被召唤.我试图禁用clickable和focusableSwitch和TextView,但这也不起作用.
执行setOnItemClickListeren.
将下面的行添加到listview行的容器中:
android:descendantFocusability="blocksDescendants"
Run Code Online (Sandbox Code Playgroud)
从您放置它们的任何地方删除所有可点击/焦点.如果按下整个项目,则应调用onItemClick.
此外,如果您希望listview行中的按钮也可单击,请将onClickListener添加到ListView适配器getView()方法内的按钮.
| 归档时间: |
|
| 查看次数: |
1869 次 |
| 最近记录: |