2017-06-21 92 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); 
        } 

       }); 
      } 
     }); 
相關問題