在ListView上更改布局时,OnItemClickListener没有响应

时间:2012-05-02 14:06:44

标签: android listview adapter viewflipper

这是我的代码中的一些行:

vFlipper = (ViewFlipper) findViewById(R.id.viewflipper);<BR>
listView = (ListView) findViewById(R.id.firstlayout);<BR>
listView.setAdapter(stationaryAdapter);

对象列表,当我点击它们时,我会获得有关每个对象的更多信息。 此时它可以正常工作。但是,当我点击一个按钮时,它应该读取其他对象的som,但是它的布局不同,可点击的功能将停止工作。

单击这些行,即:

vFlipper.setDisplayedChild(1);<BR>
listView = (ListView) findViewById(R.id.secondlv);<BR>
listView.setAdapter(mobileAdapter);

不改变布局,它适用于新列表。

有人有头绪吗?

1 个答案:

答案 0 :(得分:0)

当您调用适配器将项目放在您单击“adapter.get(position)”的位置时,您可能仍在使用第一个适配器而不是第二个适配器。

你应该做的是,对于第一个布局:

listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent,View view, int position, long id) {
stationaryAdapter.getItem(position));

}
});

第二个布局:

listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent,View view, int position, long id) {
mobileAdapter.getItem(position));

}
});