0
JSON
のデータをPHP
から解析し、Spinner
に表示しました。データにはKey-Valueが付属しています。だから私はSimpleAdapter
と一緒にHashmap
を使った。 Spinnerは値のみを表示します。ユーザーが項目を選択すると、キーはMySQL
に格納されます。Androidアダプタのデフォルト値は、単純なアダプタのSpinnerのHashmap Keyから
これは、私のJSON
。例えば
{
"32":"Western Food",
"33":"Chinese Food",
"34":"Mix Food",
"35":"Japanese Food",
"36":"Korean Food",
"37":"Italian Food",
"38":"German Food",
"45":"Muslim food ",
"46":"Indian food"
}
活動
ユーザーが、彼らは "ミックス食" を選択した新しいカテゴリを追加します。送信ボタンをクリックすると、キー "34"がデータベースに保存されます。
アクティビティBスピナーは、開始時に示したときにアクティビティBのデフォルトとしてこの項目を表示する方法
int get_selected_item_id=34;
List<HashMap<String, String>> category_arraylist = new ArrayList<HashMap<String, String>>();
Iterator<String> iterator = jsonObject1.keys();
while (iterator.hasNext()) {
String id = iterator.next();
String name=jsonObject1.getString(id);
HashMap<String, String> map = new HashMap<>();
map.put("id",id);
map.put("name",name);
category_arraylist.add(map);
}
String[] from = {"name"};
int[] to = {android.R.id.text1};
final SimpleAdapter adapter = new SimpleAdapter(item_edit.this, category_arraylist, android.R.layout.simple_spinner_dropdown_item, from, to);
category.setAdapter(adapter);
category.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
category.setSelection(get_selected_item_id); // doesn't work
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
?
デフォルト項目を設定するためにスピナーに '' setSelection(インデックス)を使用。 –
@KNeerajLalそれはタイプミスです。私はそれを変更しました。私のシナリオの考え方は? – gosulove