【发布时间】:2011-04-28 01:00:21
【问题描述】:
嘿,我在声明、更改和使用全局变量时遇到问题。我尝试了整个“创建一个扩展您的应用程序并将变量放在那里的类”的事情,但我不确定如何实现它。这是我的类,里面有变量。
public class MyApp extends Application {
public int listPos;
}
然后我尝试在此处访问和更改 int listPos。
public class Browse extends ListActivity{
MyApp app = ((MyApp)getApplicationContext());
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String[] coffeeTypes = getResources().getStringArray(R.array.coffeeTypes);
setListAdapter(new ArrayAdapter<String>(this, R.layout.listview, coffeeTypes));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
app.listPos = position;
startActivity(new Intent(Browse.this, CoffeeTypes.class));
}
});
}
}
然后我尝试访问以下活动中的变量以确定 if else 语句的结果
public class CoffeeTypes extends Activity{
MyApp app = ((MyApp)getApplicationContext());
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(app.listPos == 0){
Toast.makeText(this, "WEEEEEEE!0", Toast.LENGTH_LONG).show();
}
else if(app.listPos == 1){
Toast.makeText(this, "RAWR!1", Toast.LENGTH_LONG).show();
有人知道我做错了什么吗?
【问题讨论】:
标签: android class variables global