gpt4 book ai didi

android - 如何根据单选按钮选择填充微调器?

转载 作者:行者123 更新时间:2023-11-30 02:44:37 26 4
gpt4 key购买 nike

我是 android 编程的初学者。我在一个单选组和一个微调器中有 3 个单选按钮(汽车、自行车、CV)。我想根据单选按钮选择填充微调器。如果单选按钮是“汽车”,则微调器值必须是“项目 1、项目 2、项目 3”,对于“自行车”,微调器值必须是“项目 4、项目 5、项目 6”。我试图实现这个概念,但没有实现所需的输出。

请帮忙

我的编码

private RadioGroup rg;
private Spinner sp;
int pos;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_get_vehicle_info);
rg = (RadioGroup) findViewById(R.id.VehicleType);
sp = (Spinner) findViewById(R.id.makeSpinnerCar);

rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {

pos=rg.indexOfChild(findViewById(checkedId));

switch (pos)
{
case 0 :
List<String> list = new ArrayList<String>();
list.add("Item 1");
list.add("Item 2");
list.add("Item 3");
ArrayAdapter<String> adp = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, list);
sp.setAdapter(adp);
break;
case 1 :
List<String> list = new ArrayList<String>();
list.add("Item 4");
list.add("Item 5");
list.add("Item 6");
ArrayAdapter<String> adp = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, list);
sp.setAdapter(adp);
break;
case 2 :
List<String> list = new ArrayList<String>();
list.add("Item 7");
list.add("Item 8");
list.add("Item 9");
ArrayAdapter<String> adp = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, list);
sp.setAdapter(adp);
break;

}

});
}

最佳答案

只是改变这个:

ArrayAdapter<String> adp = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, list);

到:

ArrayAdapter<String> adp = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_dropdown_item_1line, list);

原因是这里的this指的是OnCheckedChangeListener()而不是application Context。

同时为每个案例创建 List 和 ArrayAdapter 并使用不同的名称,或者只使用您在案例 1 中创建的那个,就像这样:

 list = new ArrayList<String>();
adp = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_dropdown_item_1line, list);

我测试过它,它可以工作

关于android - 如何根据单选按钮选择填充微调器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25284660/

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