2015-10-15 70 views
0

我有兩個複選框,當選中複選框項目時,它應該添加到微調框。有可能這樣做嗎?不能找到它在谷歌,所以希望有人能在這裏救我:) 我的微調:複選框項目添加到微調框

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

加微調適配器來完成。下一步是什麼?我怎樣才能將選中的複選框添加到我的微調器? – Jerson

+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); 

然後,每當你需要添加一些微調器中寫入以下代碼:

adapter.items.add("new item"); 
spinner.notifyOnDatasetChanged(); 
+0

所以會有兩個類?呃..我將在哪裏放置這個adapter.items.add(「new item」); spinner.notifyOnDatasetChanged(); ? – Jerson

+0

每當你想要一個物品到微調器時,應該添加這兩行。當然,你將不得不改變你想添加的物品。 –