我浏览了很多帖子并尝试了它们,但似乎没有任何效果。我想这可能是我错过的东西。这是我正在尝试做的事情和我的问题:我正在尝试创建一个全局变量,以便在我的主活动上,当用户从 ListView 中选择一个项目时,我想将该项目分配给变量和在我的应用程序中使用它。
首先我创建了一个类并将其扩展到应用程序,如下所示:
导入android.app.Application;
公共类 GlobalVariables 扩展应用程序 {
private String mStringValue;
public String getSomeVariable() {
return mStringValue;
}
public void setSomeVariable(String someVariable) {
this.mStringValue = someVariable;
}
}
然后在我的主要活动中,我把这段代码设置为变量:
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> listView, View view,
int position, long id) {
// Get the cursor, positioned to the corresponding row in the result set
Cursor cursor = (Cursor) listView.getItemAtPosition(position);
// Get the Customer Name from this row in the database.
String countryCode = cursor.getString(cursor.getColumnIndexOrThrow("CustomerName"));
Toast.makeText(getApplicationContext(), countryCode, Toast.LENGTH_SHORT).show();
((GlobalVariables) this.getApplication()).setSomeVariable(countryCode);
}
});
问题是我在这一行收到错误“方法 getApplication() 未定义类型 new AdapterView.OnItemClickListener(){}”:
((GlobalVariables) this.getApplication()).setSomeVariable(countryCode);
我阅读了建议执行以下代码的帖子之一,但随后又出现了多个错误:
- 对于 GlobalVariables 类型,方法 getApplication() 未定义
范围内无法访问 GlobalVariables 类型的封闭实例
((GlobalVariables) GlobalVariables.this.getApplication()).setSomeVariable("foo");
您能给我的任何帮助将不胜感激。
谢谢,
蒂姆