2017-06-21 93 views
1

我正在使用一个列表,并且我希望为每个列表项目显示不同的AlertDialog,并在此AlertDialog中单击“是”或“否”按钮时显示不同的消息。将位置传递给Onclick

list.setOnItemClickListener(new AdapterView.OnItemClickListener(){ 
     @Override 
     public void onItemClick(AdapterView<?> parent, View v, int position, long id){ 
      dialogBox.setMessage(dialogBoxMessage[position]); 
      dialogBox.setNegativeButton("No", new DialogInterface.OnClickListener(){ 
       @Override 
       public void onClick(DialogInterface dialog, int which){ 
        Toast.makeText(getApplicationContext() , resultOfNoClick[position] , Toast.LENGTH_SHORT); 
       } 

      }); 
     } 
    }); 

的“resultOfNoClick”是一个字符串数组,其中包含每一个需要被示出为“否”单击上ListView中的特定项的字符串。所以,有一种方法可以将位置(通过“onItemClick”接收的变量)作为参数传递给上面的“onClick”函数?

回答

0

使它成为一个最终变量:

list.setOnItemClickListener(new AdapterView.OnItemClickListener(){ 
      @Override 
      public void onItemClick(AdapterView<?> parent, View v, final int position, long id){ 
       dialogBox.setMessage(dialogBoxMessage[position]); 
       dialogBox.setNegativeButton("No", new DialogInterface.OnClickListener(){ 
        @Override 
        public void onClick(DialogInterface dialog, int which){ 
         Toast.makeText(getApplicationContext() , resultOfNoClick[position] , Toast.LENGTH_SHORT); 
        } 

       }); 
      } 
     }); 
相关问题