gpt4 book ai didi

java - java中将变量从一个类传递到另一个类

转载 作者:行者123 更新时间:2023-12-02 07:25:45 25 4
gpt4 key购买 nike

我有一个 Android 应用程序,我需要将一个变量(仪器)传递给它的主要 Activity 。这似乎是一个简单的问题,但它让我感到困惑。我环顾四周,发现编写 getInstrument 方法似乎是个好主意。这就是我到目前为止所做的:

public class MainActivity extends Activity{
//I need to read the instrument variable here
public void addListenerOnSpinnerItemSelection(){

instrumentSp = (Spinner) findViewById(R.id.instrument);
instrumentSp.setOnItemSelectedListener(new CustomOnItemSelectedListener());

}
}

单独的类(在单独的文件中):

public class CustomOnItemSelectedListener implements OnItemSelectedListener {

private int instrument;

public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) {
Toast.makeText(parent.getContext(),
"Please wait a minute for the instrument to be changed. ", Toast.LENGTH_SHORT).show();
//"Item : " + parent.getItemAtPosition(pos).toString() + " selected" + pos,
//Toast.LENGTH_SHORT).show();
instrument = pos;
}


public int getInstrument(){
return instrument;
}

}

但我认为我无法从主 Activity 中调用 getInstrument() 方法,因为该对象仅存在于监听器中。必须有一个非常简单的方法来解决它。我读了一些帖子,但问题似乎是该类的对象并不真正存在。感谢您提供任何见解。

最佳答案

你可以试试这个:

public class MainActivity extends Activity{
//I need to read the instrument variable here
CustomOnItemSelectedListener MyListener = new CustomOnItemSelectedListener();

public void addListenerOnSpinnerItemSelection(){

instrumentSp = (Spinner) findViewById(R.id.instrument);
instrumentSp.setOnItemSelectedListener(MyListener);
}
}

关于java - java中将变量从一个类传递到另一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13609788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com