私は1つのAndroidアクティビティにSpinner要素を持っています。itemSelectedの後に新しいSpinnerを動的に作成するにはどうすればよいですか?
私は、このSpinnerのItemを選択した場合、新しいSpinnerを作成してそれを私の活動に入れることができます。私はこの第二のスピナーの1つの項目を選択した場合、私は新しいスピナーを作成することができるはずです....
ので、これはコードです:
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
v = getActivity().getLayoutInflater().inflate(R.layout.alert_insert_dialog, null);
builder.setView(v);
builder.setTitle("Insert Alerts");
builder.setCancelable(false);
listValueSet_Agent = new ArrayList<AlertValueSet>();
valueSet = new AlertValueSet("2.16.840.1.113883.1.11.20.4","106190000",
"2.16.840.1.113883.6.96","Penicillin","SNOMED CT");
listValueSet_Agent.add(valueSet);
valueSet = new AlertValueSet("2.16.840.1.113883.1.11.20.4","281647001",
"2.16.840.1.113883.6.96","Aspirin","SNOMED CT");
listValueSet_Agent.add(valueSet);
valueSet = new AlertValueSet("2.16.840.1.113883.1.11.20.4","282100009",
"2.16.840.1.113883.6.96","Codeine","SNOMED CT");
listValueSet_Agent.add(valueSet);
valueSet = new AlertValueSet("2.16.840.1.113883.1.11.20.4","282100009",
"2.16.840.1.113883.6.96","Select Agent","SNOMED CT");
listValueSet_Agent.add(valueSet);
//spinner status
Spinner sAgent = (Spinner) v.findViewById(R.id.combo_agent);
adapterAgent = new ArrayAdapter<AlertValueSet>(v.getContext(),
android.R.layout.simple_spinner_item, listValueSet_Agent);
sAgent.setAdapter(adapterAgent);
sAgent.setSelection(0);
sAgent.setOnItemSelectedListener(new SpinnerActivity());
return builder.create();
}
このクラスは、代わりにOnItemSelectedListenerクラスの実装です:
public class SpinnerActivity implements AdapterView.OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) {
Spinner spinnerAgentN = new Spinner(v.getContext());
spinnerAgentN.setAdapter(adapterAgent);
spinnerAgentN.setSelection(listValueSet_Agent.size()-1);
spinnerAgentN.setOnItemSelectedListener(new SpinnerActivity());
LinearLayout linearLayout = (LinearLayout)v.findViewById(R.id.layoutText);
linearLayout.addView(spinnerAgentN,2);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
}
は今、私は自分のアプリケーションを実行しようとする場合、問題は、この方法(onItemSelected)は毎回のために呼ばれている、と私は私の活動Nスピナーで見ることができるが、これは良くありません。私はこのコードを削除しようと
は:
spinnerAgentN.setOnItemSelectedListener(new SpinnerActivity());
私は問題ありません。
どうすれば修正できますか?
をごonItemSelected方法を変更します。 –
あなたは私の解を説明できますか? – bircastri