私はスピナー付きのダイアログを持っています。現在、ダイアログとスピナーは正常に動作しています。しかし、アイテムを選択するとスピンナーが閉じることはありません。私はそれを閉じて、アイテムが選択された後に活動に戻る必要があります。ありがとう。ユーザーがスピナーからアイテムを選択した後にダイアログを閉じるにはどうすればいいですか?
ここに私のダイアログのコードがあります。
String[] s = {"A", "B", "C", "D", "E", "F" };
final ArrayAdapter<String> adp = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_spinner_item, s);
final Spinner sp = new Spinner(getActivity());
//sp.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
sp.setAdapter(adp);
sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
String selectedItem = parent.getItemAtPosition(position).toString();
Log.d("selectedItem:", selectedItem);
} // to close the onItemSelected
public void onNothingSelected(AdapterView<?> parent)
{
}
});
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(sp);
builder.create().show();
アイテムを選択しても閉じられません。ダイアログがまだ宣言されていないので、スピナー選択メソッド内でbuilder.dismiss()を呼び出すにはどうすればよいですか。 – Julia
@Juliaよく、それはそれ自身を閉じて、ダイアログを閉じることで十分でしょうか?最初にダイアログを作成し、次にそれにスピナーを追加すると、ダイアログが閉じられ、スピナーが表示され、実際に呼び出されたアイテムとOnItemSelectedメソッドをクリックしてダイアログが既に初期化されています。多分あなたはダイアログのインスタンシエーションを変更する必要があります....私は答えを更新します。それが動作すれば教えてください – Rainmaker