gpt4 book ai didi

java - Android:尝试根据所选的另一个微调器项目创建一个微调器

转载 作者:行者123 更新时间:2023-12-01 14:32:00 25 4
gpt4 key购买 nike

我有一个带有毫克、克、微克、千克等项目的旋转器。如果我选择 mg,我希望第二个微调器仅更新为 mg 和 g 项目。但是当使用 if 逻辑时,我得到“ArrayAdapter 类型中的方法 createFromResource(Context, int, int) 不适用于参数”错误。

公共(public)类 MyOnItemSelectedListener 实现 OnItemSelectedListener{

    @Override
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id){
String str = parent.getItemAtPosition(pos).toString();

final TextView result = (TextView) findViewById(R.id.textView5);

if (str.equals("mg")){
Spinner spinner1 = (Spinner) findViewById(R.id.spinner2);

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.units, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adapter);
//result.setText("testing");
}
else {
result.setText("micrograms");
}

}

@Override
public void onNothingSelected(AdapterView parent){}
}

最佳答案

您的问题在这一行:

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.units, android.R.layout.simple_spinner_item);

这里的第一个参数需要一个上下文。因为您是从监听器调用它,监听器是它自己的类,所以 this 引用监听器,而不是您的 Activity。您需要通过监听器类的构造函数传递对 Activity 的引用,并将 this 替换为对该 Activity 上下文的引用。

关于java - Android:尝试根据所选的另一个微调器项目创建一个微调器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16802842/

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