我正在尝试在微调器列表中添加一些项目。但不知何故每次,我总是在 this
-
Cannot use this in a static context
下面是我的代码
public static void initSpinnerView(Context context, Spinner spinnerView, String prefix, int numItems, int layout) {
//spinnerView = (Spinner) findViewById(R.id.spinner2);
List<String> list = new ArrayList<String>();
list.add("list 1");
list.add("list 2");
list.add("list 3");
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerView.setAdapter(dataAdapter);
}
}
谁能告诉我我做错了什么?
最佳答案
this
这是一个 Java 关键字,表示当前对象。如果我没记错的话,这个方法放在一个扩展 Activity 的类中。因此,this
指的是 Activity 对象(在本例中用作 Context)。由于它是静态方法,因此您不能使用关键字 this
或非静态变量。
为了修复它,更改为这一行:
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(context, android.R.layout.simple_spinner_item, list);
关于java - 不能在静态上下文 android spinner 中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14668874/