1
 objImageButton.setOnLongClickListener(new OnLongClickListener() {
               public boolean onLongClick(View v) {
                   if(checkDiscrepancySubmitted(final_position))
                   {       
                   // TODO Auto-generated method stub
                       AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(FragmentActivity.this);
                       alertDialogBuilder
                       .setMessage("Do you wish to delete the logged defect ?")
                       .setCancelable(false)
                       .setPositiveButton("Yes",new DialogInterface.OnClickListener() 
                       {
                           public void onClick(DialogInterface dialog,int id) 
                           {
                               int idButton=objImageButton.getId();
                               EditText objNewEditText=(EditText) findViewById(idButton);
                               objNewEditText.setTextColor(R.color.blue);
                               removeDefect(final_position,idButton,objNewEditText);
                               Toast.makeText(FragmentActivity.this, "Unsaved defects deleted.", Toast.LENGTH_SHORT).show();
                           }
                       })
                       .setNegativeButton("No",new DialogInterface.OnClickListener() {
                           public void onClick(DialogInterface dialog,int id) {
                               dialog.cancel();
                           }
                       });
                       AlertDialog alertDialog = alertDialogBuilder.create();
                       alertDialog.show();
                       return false;
                   }
                   return false;
           }
});

因此,如您所见,在 内部onLongClick(),我有一个条件。只有当这个条件成立时,onLongClick() 才能工作。基本上,我希望仅在条件为真时才调用 Listener 函数。我该怎么做?

4

3 回答 3

2

可能会解决您的问题。您可以将 Retrun 类型更改为“true”。

于 2013-01-07T06:53:29.353 回答
1

您可以尝试使用:setOnLongClickListener(null)如果您的条件为假,否则是您定义的侦听器。

于 2013-01-07T05:39:24.170 回答
0

有什么问题不能理解...

顺便说一句,您可以在 if 循环中设置 longclicklistener ...

如果循环(真)

set on longclickListener

别的什么都没有……

于 2013-01-07T05:33:18.270 回答