我有两个复选框,当选中一个复选框项时,它应该被添加到微调器。有可能这样做吗?无法在谷歌上找到它,所以希望有人可以救我在这里:) 我的微调器:
public class Checkbox extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_checkbox);
Spinner spinner;
spinner = (Spinner) findViewById(R.id.spinner2);
ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.itinerary, android.R.layout.simple_spinner_item);
spinner.setAdapter(adapter);
}
布局
<CheckBox
android:id="@+id/cbSiargao"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Surigao"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="104dp" />
<Spinner
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/spinner2"
android:layout_alignTop="@+id/cbSiargao"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="139dp"
android:layout_marginStart="139dp" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Boracay"
android:id="@+id/checkBox"
android:layout_below="@+id/cbSiargao"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
答案 0 :(得分:0)
您需要重新实现您的微调器适配器。这是一个简单的例子:
public class SpinnerAdapterExample implements SpinnerAdapter {
public ArrayList<String> items = new ArrayList<>();
@Override
public int getCount() {
return items.size();
}
@Override
public View getView(int position, View parent, ViewGroup viewGroup) {
TextView textView = new TextView(parent.getContext());
textView.setText(items.get(position));
return textView;
}
不要忘记重新实现其他必需的方法,但您可以保留原样。
在复选框类中添加以下内容:
SpinnerAdapterExample adapter = new SpinnerAdapterExample();
spinner.setAdapter(adapter);
然后,无论何时需要向spinner添加内容,请编写以下代码:
adapter.items.add("new item");
spinner.notifyOnDatasetChanged();