ActionBar
アプリでアカウント コンテキストを提供するために、でスピナーを使用しようとしています。リストの最後の位置に「アカウントの追加」要素もあります。ABS
スピナーの外観を使用して構成しています.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
ここまでは順調ですね。
ユーザーがアプリを初めて起動すると、これspinner
は空になり、唯一の選択肢は「アカウントの追加」になります。スピナーの現在の選択に表示されるのもこのテキストです。私が達成しようとしているのは、ユーザーがspinner
(開いたリストではなく、スピナー自体で)クリックしたときに、ユーザーを新しいアカウントアクティビティにリダイレクトすることです。私のアダプターでは、それを検出して次のように画面を開くことができました。
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
...
}
if (parent.getClass() == Spinner.class && ((Spinner) parent).getCount() == 1) { //"Hack" for initial click on "Add Account" in the spinner when it's empty
Intent intent = new Intent(context, AccountPreferenceActivity.class);
((HomeActivity) context).startActivityForResult(intent, HomeActivity.ACTIVITY_PREFERENCE_ACCOUNT);
}
...
return convertView;
}
私の問題は、新しいフォームに入力してホーム画面に戻った後、スピナーが開いて、見苦しいユーザーエクスペリエンスになることです.
私の最初の試みは、getDropDownView メソッドでスピナーを開かないようにすることでしたが、達成できませんでした。spinner
その後、あらゆる種類の汚い回避策 (非表示/再表示、画面内の別のフィールドへのフォーカス、戻るボタンのシミュレートなど) を試しましたが、何も機能していないようです。
それを達成する方法はありますか?
ありがとう