onLongClick()仅在条件为真时才有效

时间:2013-01-07 05:09:39

标签: android

 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函数。 我该如何做到这一点?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

什么问题无法理解......

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

if loop(true)

set on longclickListener

否则 没什么....