<string-array name="preferences">
<item>American Restaurant</item>
<item>Arabian Restaurant</item>
<item>Asian Restaurant</item>
<item>Chinese Restaurant</item>
<item>Filipino Restaurant</item>
<item>Indonesian Restaurant</item>
<item>Sushi Restaurant</item>
</string-array>
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.preferences, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerMainPref = findViewById(R.id.main_preference_spinner);
spinnerMainPref.setAdapter(adapter);
spinnerMainPref.setOnItemSelectedListener(this);
spinnerPref2 = findViewById(R.id.preference2_spinner);
spinnerPref2.setAdapter(adapter);
spinnerPref2.setOnItemSelectedListener(this);
spinnerPref3 = findViewById(R.id.preference3_spinner);
spinnerPref3.setAdapter(adapter);
spinnerPref3.setOnItemSelectedListener(this);
我试图在OnItemSelected
中操作旋转器:
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
switch (adapterView.getId()) {
case R.id.main_preference_spinner:
String valueMainPref = adapterView.getItemAtPosition(i).toString();
editor.putString("mainPreference", valueMainPref);
editor.putInt("mainPreferenceValuePosition", i);
editor.apply();
break;
case R.id.preference2_spinner:
String valuePref2 = adapterView.getItemAtPosition(i).toString();
editor.putString("secondPreference", valuePref2);
editor.putInt("secondPreferenceValuePosition", i);
editor.apply();
break;
case R.id.preference3_spinner:
String valuePref3 = adapterView.getItemAtPosition(i).toString();
editor.putString("thirdPreference", valuePref3);
editor.putInt("thirdPreferenceValuePosition", i);
editor.apply();
break;
}
}
例如,如果用户在spinner One
中选择了特定的项,我希望使该项对spinner 2
和spinner 3
禁用。同样,当用户在spinner2
中选择特定项时,我希望对spinner1
和spinner3
禁用该项。我希望你理解我的问题:)
我想你可以有一个像下面这样的自定义旋转器适配器。
public class MySpinnerAdapter extends BaseAdapter {
@Override
public void isEnabled(int position) {
return getItem(position).isEnabled();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null) {
convertView = View.inflate(parent.getContext(), R.layout.item, null);
}
if(!isEnabled(position)) {
convertView.setEnabled(false);
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//NO-OP: Just intercept click on disabled item
}
});
}
return convertView;
}
}
将适配器分配给您的每个纺纱机。然后,当选择了一个旋转器时,调用isenabled(false)
到其他旋转器。无论如何,您必须跟踪这些状态,并确保当第一个状态未被选中时,它将其他状态再次设置为启用状态。
我希望这能有所帮助。
我正在写一个Android应用程序,有Java和静态编程语言活动。我希望从静态编程语言移动到Java,已经完成了,现在我希望回到静态编程语言活动,我找不到具体的代码。 我的应用程序名称是starter,Kotlin活动是MainActivity。kt和java类是face_detect。JAVA我已经试过:` ` 我希望单击face_detect上的按钮。java,这将把我带到MainActivi
问题内容: 听起来很简单,但我无法使其正常工作。我有两个活动。第一个是表单,第二个是根据在第一个活动中输入的值显示JSON文件中的数据。 因此,我正在尝试制作一个简单的版本。我有一个EditText和一个按钮,因此当他们按下按钮时,EditText中的内容将出现在下一个活动的TextView中。 到目前为止,这是我的代码: 主要活动 主要XML 第二次活动 第二个XML 通过这种方式,我为Edit
但似乎什么都没起作用。
我如何设置文本一段时间,当一个文本将完成然后自动我想在一个活动中显示另一个文本!我可以在Android Studio做吗?如果是,那怎么做? 显示文本 3/4 秒,然后另一个文本将在一个活动中显示
问题内容: 我的Android应用有很多按钮。 我的main.xml布局具有三个按钮。 我知道如何使用按钮从一个活动转到另一个活动,但是我不知道如何在一个活动上具有多个按钮,每个按钮启动的活动与另一个活动不同。 例 Main.xml Button1 Button2 Main2.xml 由button1启动 About.xml 由Button2启动 我如何使main.java文件做到这一点? 问题答
问题内容: 我经历了太多的代码,试图找出我做错了什么,但我却步履蹒跚,浪费时间。这将非常简单,但我无法弄清楚。 我正在开发一个Android应用程序,需要将2个微调器放在一个活动上。第二个微调器将根据第一个微调器上选择的条目进行填充。听起来很简单吧? 所以这就是我想做的。如果用户选择Mobile,则应显示中的内容,当用户选择Large business 时应运行,最后一个条目应调用。我得到的只是一