【发布时间】:2015-01-16 09:24:48
【问题描述】:
我有一个包含多个项目的列表视图。单击一个项目时,将打开一个 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);
}
【问题讨论】:
-
定义布尔 isClicked = false;并检查 if(!isClicked){isClicked = true; // 并开始你的活动}
-
将启动模式设置为 android:launchMode="singleTask"