gpt4 book ai didi

java - Android内部类获取值的问题

转载 作者:行者123 更新时间:2023-11-30 04:53:01 26 4
gpt4 key购买 nike

您好,我的代码有问题,我不知道为什么我的程序有 2 个微调框和 1 个 TextView 。当我在两个微调器中选择一些东西时,它应该从 getrate 内部类调用方法它向 textview 返回一些值。这个 getrate 类适用于我的 java 应用程序,但不适用于 android 应用程序。

这是我的代码

public class BTS extends Activity {
/** Called when the activity is first created. */
int i=0;
int j=0;
String[] li={"1","2","3"};
getrate gr;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);


final Spinner combo = (Spinner)findViewById(R.id.widget30);
final Spinner combo2 = (Spinner)findViewById(R.id.widget32);
final TextView rate = (TextView) findViewById(R.id.widget31);


ArrayAdapter<String> a = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, li);
ArrayAdapter<String> b = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, li);
combo.setAdapter(a);
combo2.setAdapter(b);
combo.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
i = (int) combo.getSelectedItemId();
if(i==0||j==0){rate.setText("กรุณาเลือกสถานีต้นทางและปลายทาง");}
else {rate.setText("ราคาค่าโดยสาร : "+gr.get(i, j)+" บาท");}
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub

}


});


combo2.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
j = (int) combo2.getSelectedItemId();
if(i==0||j==0){rate.setText("กรุณาเลือกสถานีต้นทางและปลายทาง");}
else {rate.setText("ราคาค่าโดยสาร : "+gr.get(i, j)+" บาท");}
}

@Override



public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub

}
});
}
}




class getrate {

private String[][] list;
int c2=0;
String[] ct={"1","2","3"};
getrate(){

}

public String get(int i,int j){
return ct[i];
}

}

附言。对不起我的英语;D

最佳答案

我认为你必须先初始化,然后使用 BTS.this.gr 引用它

那就是:

public void onCreate(Bundle savedInstanceState) {

this.gr=new getrate();
...

// in your anonymous class
else {rate.setText("ราคาค่าโดยสาร : "+BTS.this.gr.get(i, j)+" บาท");}

}

关于java - Android内部类获取值的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2476930/

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