这是我的一个非常简化的版本Activity
:
public class Search extends Activity {
//I need to access this.
public SearchResultsAdapter objAdapter;
public boolean onOptionsItemSelected(MenuItem itmMenuitem) {
if (itmMenuitem.getItemId() == R.id.group) {
final CharSequence[] items = {"Red", "Green", "Blue"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(itmMenuitem.getTitle());
builder.setSingleChoiceItems(lstChoices),
0, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
//I need to access it from here.
}
});
AlertDialog alert = builder.create();
alert.show();
return true;
}
}
}
当按下菜单按钮时,我的应用程序会弹出一个AlertDialog
. 创建时AlertDialog
和内联onClickListener
附加到对话框中的每个项目。我需要访问在我的活动objAdapater
中定义的变量。Search
我无权访问我的搜索实例,onClickListener
因此无法访问它。我的代码中有一点点汤,因为Activity
到处都传递了实例。也许我做错了什么。
我将如何从我的内部访问Activity
(Search
实例),onClickListener
以便我可以访问它的方法和变量。
谢谢你。