我是这个android / java的新手。我有这个onItemSelected,它将在旋转器中选择已经选中的内容。我希望在整个类中都可以访问字符串resumeTableName,该字符串具有所选spinner对象的值。现在它为所选值提供了烘烤,但是在我的类的其他地方,resumeTableName仍然为null。我认为公共修饰符会使其可见。如何使其可见,我是否使用某种回报?
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
// On selecting a spinner item
String resumeTableName = parent.getItemAtPosition(position).toString();
// Showing selected spinner item
Toast.makeText(parent.getContext(), resumeTableName,
Toast.LENGTH_LONG).show();
}
答案 0 :(得分:1)
使用您班级中声明的static String resumeTableName;
和
在onItemSelected
写
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
// On selecting a spinner item
resumeTableName = parent.getItemAtPosition(position).toString();
// Showing selected spinner item
Toast.makeText(parent.getContext(), resumeTableName,
Toast.LENGTH_LONG).show();
}
通过这种方式,方法更新的resumeTableName
的值对于整个班级来说都是相同的。
答案 1 :(得分:0)
如果您是Android编程的新手,那么对于变量可见性的问题,有一个很好的解决方案。
您必须在包中创建类:
public class GlobalVar extends Application{
private int dummy1;
public int getDummy1() {
return dummy1;
}
public void setDummy1(int dummy1) {
this.dummy1 = dummy1;
}
}
然后在您的应用程序中的任何位置您可以使用:
获取/设置此数据GlobalVar gV = (GlobalVar)GetApplicationContext();
然后您只需使用Getters / Setters或此类中的任何公共方法修改它们。我认为这是一个非常好的解决方案,你经常从不同的代码位置使用变量集。