使onItemSelected对整个类都可见

时间:2014-02-24 21:59:17

标签: java android

我是这个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();


}

2 个答案:

答案 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或此类中的任何公共方法修改它们。我认为这是一个非常好的解决方案,你经常从不同的代码位置使用变量集。