我有一個問題,我想加載項目在一個微調項目的另一個微調項目。實際上我是兩個spinners,數據從json_parsing被加載到第一個spinner中,並且在從第一個spinner中選擇一個項目後,我必須在第二個Spinner中加載數據,所以我不知道它將如何實現?請建議我正確的解決方案。更改項目的微調項目點擊另一個微調在Android
在此先感謝。
我有一個問題,我想加載項目在一個微調項目的另一個微調項目。實際上我是兩個spinners,數據從json_parsing被加載到第一個spinner中,並且在從第一個spinner中選擇一個項目後,我必須在第二個Spinner中加載數據,所以我不知道它將如何實現?請建議我正確的解決方案。更改項目的微調項目點擊另一個微調在Android
在此先感謝。
你能做到這樣,你的數據將在第一和第二微調加載
第一次。 關於從第一個微調項目選擇做到這一點。
1.) Clear the previous ArrayList or Array whateven you have passed the
Second Spinner.
2.) Fill the ArrayList or Array of new data & Update the Second Spinnner using
adapter.notifyDataSetChanged();
second_spinner.setSelection(0);
在您的第一個微調器上設置一個OnItemClickListener,它將準備並將適配器設置爲第二個微調器。
首先爲您的第一個微調器設置一個OnItemClickListner。在OnItemClickListner方法中,首先解析您的XML。完成XML解析後,解析數據集的適配器以及該適配器與你的第二個微調
這裏是一個更完整的代碼示例:
Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
Cursor c1 = (some code for getting a cursor from an data source, for example, a sqlite database)
SimpleCursorAdapter adapter1 = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, c1, new String[]{"column_name"}, new int[]{android.R.id.text1});
spinner1.setAdapter(adapter1);
Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
Cursor c2 = (some code for getting a cursor from an data source, for example, a sqlite database)
SimpleCursorAdapter adapter2 = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, c2, new String[]{"column_name"}, new int[]{android.R.id.text1});
spinner2.setAdapter(adapter2);
spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Cursor c_new = (create a new cursor);
adapter2.changeCursor(c_new);
adapter2.notifyDataSetChanged(); // this is important for notifying the UI
spinner2.setAdapter(adapter2);
}
});
你設置什麼監聽到第一Spinner
,還有第二Adapter
的Cursor
改變到一個新的,通知UI並重置第二個Spinner
的Adapter
。