如何使用OnItemLongClickListener覆盖OnItemClickListener

时间:2015-10-13 16:23:34

标签: android onitemclicklistener onitemlongclicklistener

我在我的活动列表视图中有OnItemClickListener,其中我开始另一个活动,我也有OnItemLongClickListener,其中我基本上要删除长按行。当我点击列表视图OnItemClickListener工作正常,但当我长期点击列表仍然OnItemClickListener和OnItemLongClickListener.And我不希望OnItemClickListener工作时,我点击长。 这就是我的代码的样子。

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                    Intent intent = new Intent(MainActivity.this, CompleteInformationActivity.class);
                    intent.putExtra("position", "" + selected.get(position));
                    startActivity(intent);
                }
            });
            listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
                @Override
                public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
                    Toast.makeText(MainActivity.this, "Long click happened.", Toast.LENGTH_SHORT).show();
                    adapter.notifyDataSetChanged();
                    final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                    builder.setTitle("Do you want to delete?");
                    builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                                                            Toast.makeText(MainActivity.this, "Item is Deleted.", Toast.LENGTH_SHORT).show();

                        }
                    });
                    builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "Item is not Deleted.", Toast.LENGTH_SHORT).show();

                        }
                    });

                    AlertDialog dialog = builder.create();
                    dialog.show();
                    return false;
                }
            });

1 个答案:

答案 0 :(得分:1)

我认为你应该在def buildTime() { def df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'") return df.format(new Date()) } productFlavors { develop { applicationId "com.myapp.develop" versionNameSuffix "-beta-build-${buildTime()}" } } 方法中返回true来消费点击。查看Android文档http://developer.android.com/reference/android/widget/AdapterView.OnItemLongClickListener.html