我有两个旋转器。
如果在第一个项目" Diesel"被选中我想显示第二个。
sKraftstoffArt.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
if(sKraftstoffArt.getSelectedItem().toString() == "Diesel"){
sPartikelfilterArt.setVisibility(sPartikelfilterArt.VISIBLE);
}
}
public void onNothingSelected(AdapterView<?> adapterView) {
return;
}
});
我已经在onCreate方法中实现了这段代码。当我在运行期间选择一个项目时,我没有得到所选的项目文本......仅当创建了活动并且选择了默认值时它才有效....
我还需要在哪里实施它?
此致 浮
答案 0 :(得分:1)
除非您的sKraftstoffArt
对象不是最终对象,否则对匿名类中所选项目文本的检查将不起作用。
参数中的adapterView
是您为ListView
分配的AdapterView.OnItemClickListener
实例。
view
参数是您ListView
中已点击的实际项目(渲染器)。此项目由适配器的getView(int position, View convertView, ViewGroup parent)
方法提供。
此外,您应该使用equals
的{{1}}方法检查两个String值是否相等。
所以这不起作用:
String
使用insetad
if(sKraftstoffArt.getSelectedItem().toString() == "Diesel")
您可能还希望在此if (adapterView.getSelectedItem().toString().equals("Diesel"))
之后添加else
子句,以便在前一个微调器中的所选项目不是“Diesel”时隐藏if
微调器。
请注意,每次你为这个列表分配一个新的适配器(可能你没有,我仍然提到它以防万一...),你应该再次添加sPartikelfilterArt
。