0

アプリケーションにナビゲーションを実装する際に問題が発生しました。興味のあるものを選んで対応データを取得Spinnerできるメニューのように使いたかったのです。item次に、このデータはActionBarタブに設定されます。

アプリ

スピナーとタブの両方を実装しましたが、1つの問題が発生しました。Androidは、必要な間、で可変変数を使用することを許可していませんOnItemSelectedListener

final ActionBar.Tab tabToday= actionBar.newTab().setText("Today");
final ActionBar.Tab tabSoon = actionBar.newTab().setText("Soon");

..............................

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){

            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                switch(arg2){
                case 0:
                    tabToday.setTabListener(new CustomTabListener(MainActivity.this,"item_1", "url"));
                    tabSoon.setTabListener(new CustomTabListener(MainActivity.this,"item_1", "url_2"));
                    
                    actionBar.addTab(tabToday);
                    actionBar.addTab(tabSoon);              
                    break;
                    
                case 1:
                    tabToday.setTabListener(new CustomTabListener(MainActivity.this,"item_2", "url_3"));
                    tabSoon.setTabListener(new CustomTabListener(MainActivity.this,"item_2", "url_4"));

                    break;
                    
                case 2:
                    tabToday.setTabListener(new CustomTabListener(MainActivity.this,"item_3", "url_5"));
                    tabSoon.setTabListener(new CustomTabListener(MainActivity.this,"item_3", "url_6"));
                    break;
                }
        }

final問題は、not変数を使用できないことです。これが原因で、次のようになります。

ここに画像の説明を入力してください

この問題を解決する方法はありますが、同じナビゲーションを維持しますか?読んでいただきありがとうございます、どんな助けもいただければ幸いです。:)

編集:問題は最終変数にはありませんが、問題はまだ残っています:((

4

2 に答える 2

1

finalがその問題を引き起こしている理由はわかりませんが、アクティビティにAdapterView.OnItemSelectedListenerを実装させて匿名クラスを作成しないことで、そのキーワードの使用を避けることができます

と呼び出し

spinner.setOnItemSelectedListener(this);
于 2013-03-21T18:43:25.517 に答える