如何从Java中的另一个类获取变量?
如何将selectedPlayer设置为其他类的position值 我在这里读过很多类似的问题,但我一直与我的变量和函数冲突 ScoreList.java如何从Java中的另一个类获取变量?,java,android,class,variables,Java,Android,Class,Variables,如何将selectedPlayer设置为其他类的position值 我在这里读过很多类似的问题,但我一直与我的变量和函数冲突 ScoreList.java public class ScoreList extends Activity { Integer selectedPlayer = 0; } ScoreListAdapter.java public class ScoreListAdapter extends ArrayAdapter<Score> { @
public class ScoreList extends Activity {
Integer selectedPlayer = 0;
}
ScoreListAdapter.java
public class ScoreListAdapter extends ArrayAdapter<Score> {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final OnClickListener lsScoreView = new OnClickListener() {
@Override
public void onClick(View v) {
//send position to main class here
}
};
}
}
public class ScoreListAdapter extends ArrayAdapter<Score> {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final OnClickListener lsScoreView = new OnClickListener() {
@Override
public void onClick(View v) {
ScoreList.selectedPlayer;//You can use selectedPlayer here
}
};
}
}
公共类ScoreListAdapter扩展了ArrayAdapter{
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
最终OnClickListener lsScoreView=新OnClickListener(){
@凌驾
公共void onClick(视图v){
//将位置发送到这里的主类
}
};
}
}
将selectedPlayer设置为静态:
public class ScoreList extends Activity {
static Integer selectedPlayer = 0;
}
这样,您可以使用类名引用SelecterLayer,因为它不属于该类的任何对象
ScoreListAdapter.java
public class ScoreListAdapter extends ArrayAdapter<Score> {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final OnClickListener lsScoreView = new OnClickListener() {
@Override
public void onClick(View v) {
//send position to main class here
}
};
}
}
public class ScoreListAdapter extends ArrayAdapter<Score> {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final OnClickListener lsScoreView = new OnClickListener() {
@Override
public void onClick(View v) {
ScoreList.selectedPlayer;//You can use selectedPlayer here
}
};
}
}
公共类ScoreListAdapter扩展了ArrayAdapter{
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
最终OnClickListener lsScoreView=新OnClickListener(){
@凌驾
公共void onClick(视图v){
ScoreList.selectedPlayer;//您可以在此处使用selectedPlayer
}
};
}
}
选项
ScoreList
作为参数传递给ScoreListAdapter
构造函数,并将其设置为可在ScoreListAdapter.getView
中引用的实例变量ScoreList
in作为参数传递给getView
方法来自哪个其他类的位置值?ScoreListAdapter中的getView传递int position,我希望该值发送到ScoreList中的selectedPlayer变量感谢您的响应。我使用了您的代码,将第二部分更改为“ScoreList.selectedPlayer=position;”,它给了我一个我之前遇到的错误:“无法引用在不同方法中定义的内部类中的非最终变量位置”使position final,比如,…getView(final int position,View.。谢谢,这现在非常有效!