将位置传递给Onclick

时间:2017-06-21 17:59:31

标签: android

我正在使用列表,我希望为每个列表项显示不同的AlertDialog,并在此AlertDialog中单击“是”或“否”按钮时显示不同的消息。

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”函数吗?

1 个答案:

答案 0 :(得分: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);
                    }

                });
            }
        } );