Java 嵌套对象访问父属性

Java 嵌套对象访问父属性,java,android,Java,Android,我对Java有点陌生,我有一个简单的问题。在下面的代码中: conversation.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { if (ada

我对Java有点陌生,我有一个简单的问题。在下面的代码中:

conversation.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {          
            if (adapter.getItem(position).image && adapter.getItem(position).left) {
                String imgName = ((Message)arg1.findViewById(R.id.imageUploaded).getTag()).message;
                try {
                    AlertDialog.Builder confirmQuit = new AlertDialog.Builder(Chat.this);
                    confirmQuit.setMessage("Download image?");

                    // Buttons on dialog
                    confirmQuit.setPositiveButton("Download", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {

                        }
                    });
                    confirmQuit.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            // Do nothing
                        }
                    });
                    confirmQuit.create();

                } catch (Exception e) {
                    e.printStackTrace();
                }

            }
        }
    });
}
conversation.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView arg0,视图arg1,内部位置,长arg3){
if(adapter.getItem(position).image&&adapter.getItem(position).left){
字符串imgName=((消息)arg1.findviewbyd(R.id.imageupload.getTag()).Message;
试一试{
AlertDialog.Builder confirmQuit=新建AlertDialog.Builder(Chat.this);
setMessage(“下载图像?”);
//对话框上的按钮
confirmQuit.setPositiveButton(“下载”,新的DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
}
});
confirmQuit.setNegativeButton(“取消”,新建DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
//无所事事
}
});
confirmQuit.create();
}捕获(例外e){
e、 printStackTrace();
}
}
}
});
}
这是一个android代码,我想知道如何访问
对话框界面内的变量
position
imgName
。OnClickListener

通常在这些情况下,我会在活动中创建一个“全局”私有变量作为属性,这样我就可以在任何地方访问它,但它似乎并不正确。有人能帮忙吗

提前谢谢。

换衣服就行了

String imgName = ...

来自以下内容的Java教程:

访问封闭范围的局部变量

与本地类一样,匿名类可以捕获变量;他们有 对封闭范围的局部变量具有相同的访问权限:

  • 匿名类可以访问其封闭类的成员
  • 匿名类无法访问其封闭范围中未声明为final或有效final的局部变量

我觉得自己很愚蠢。我要读最后的属性。谢谢,先生@若昂·奥梅尼金编辑了答案以了解更多细节。希望有用:)
final String imgName = ...