0

2つのアクティビティを持つ2つのタブを持つTabActivityを作成しました。1つはログインタブで、もう1つはウェルカムタブです。

ログインに成功しない限り、ユーザーはウェルカムタブに移動しないでください。ウェルカムタブを選択しようとすると、ログインタブにスローされます。iはtabHost.setcurrenttab(index)を使用します。

しかし、直接ウェルカムタブをクリックすると、初めて正常に動作します。もう一度タブをすばやくクリックすると、ウェルカムタブが開きます。

これが私のコードです:

public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.product_list);
            SharedPreferences mPreference = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
            username = mPreference.getBoolean("valid", false);
            Toast.makeText(this, "In Create", Toast.LENGTH_SHORT).show();
           //login sucessful            
           tabActivity.switchTab(0);
     }

onResumeで、同じコードを繰り返します。

4

1 に答える 1

0

TabActivity でこれを試してください。これは、ユーザーがログインしていない場合にタブを切り替えるのを防ぐためです (今は確認する時間がありません。コードに問題がある場合はお知らせください)。

SharedPreferences mPreference;
....onCreate(){

    ...

    mPreference = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
    tabHost.setOnTabChangedListener(new OnTabChangeListener() {

    @Override
    public void onTabChanged(String arg0) {

                username = mPreference.getBoolean("valid", false);
                if(user is logged in){
                     tabHost.setcurrenttab(0);//welcome page
                }
                else{
                     tabHost.setcurrenttab(1);//login page
                }
        }
    });
    ...
}
于 2012-07-26T10:33:38.710 に答える