Java 嵌套对象访问父属性
我对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
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 = ...