gpt4 book ai didi

Android ListView 多次点击项目

转载 作者:行者123 更新时间:2023-11-29 15:13:19 24 4
gpt4 key购买 nike

我有一个包含多个项目的 ListView 。单击项目时,将打开一个 Activity 。但是,当我在该项目上快速单击几次时,与它相关的 Activity 将被打开多次。如何只打开项目一次?

我使用以下代码:

private OnItemClickListener newsfeedClickHandler = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
MyObject newsfeed = adapter.getItem(position);
onNewsfeedClick(newsfeed);
}
};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_newsfeed, container, false);
...
listView = (ListView) view.findViewById(R.id.newsfeeds);
listView.setOnItemClickListener(newsfeedClickHandler);
listView.setAdapter(adapter);
...
return view;
}
private void onNewsfeedClick(MyObject newsfeed) {
Intent intent = createIntent(newsfeed);
startActivity(intent);
}

最佳答案

防止调用 ListView 项的正确方法是(显然)禁用 OnItemClickListener:

private void onNewsfeedClick(MyObject newsfeed) {
listView.setOnItemClickListener(null);
Intent intent = createIntent(newsfeed);
startActivity(intent);
}

当此 Activity 再次可见时,在 onResume 重新设置监听器。

@Override
protected void onResume() {
super.onResume();
listView.setOnItemClickListener(newsfeedClickHandler);
}

关于Android ListView 多次点击项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27980737/

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