2017-01-19 8 views
0

Androidスタジオでタブを使用してアクションを実行しようとしていますが、getSupportActionBar()は常にnullを返します。getSupportActionBar()はAndroidアプリでNullを返します

私は、クリックすることはできますが、アクションバーもタブも表示されない3つのタブを備えた単純なアクションバーが必要です。

これは私のコードです:

import android.os.Bundle; 
import android.support.v4.app.FragmentTransaction; 
import android.support.v7.app.ActionBar; 
import android.support.v7.app.AppCompatActivity; 
import android.util.Log; 
import android.view.Window; 

public class MainActivity extends AppCompatActivity implements ActionBar.TabListener 
{ 

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_ACTION_BAR); 
    setContentView(R.layout.activity_main); 

    ActionBar ab = getSupportActionBar(); 
    if (ab == null) 
    { 
     Log.d("test", "failed"); 
     return; 
    } 
    ab.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

    ab.addTab(ab.newTab().setText("Tab 1").setTabListener(this)); 
    ab.addTab(ab.newTab().setText("Tab 2").setTabListener(this)); 
    ab.addTab(ab.newTab().setText("Tab 3").setTabListener(this)); 
} 

@Override 
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) 
{ 
    int nTabSelected = tab.getPosition(); 
    switch (nTabSelected) 
    { 
     case 0: 
      break; 
     case 1: 
      break; 
     case 2: 
      break; 
    } 
} 

@Override 
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) 
{ 
} 

@Override 
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) 
{ 
} 

} 

私はすでに私はgetActionBar()のように、インターネット上で見た多くのことを試してみましたか全く別のコードが、何も仕事と私はいつもnullを返すfunctionを持っているようです。

私はマニフェストに

/Theme.AppCompat.DayNight.DarkActionBar 

によって

/Theme.AppCompat.DayNight.NoActionBar 

を変更しなければならなかったAPIの下で19

+0

あなたのアプリにはどのテーマが設定されていますか? – Michael

答えて

2

を働いています。

私を助けてくれたマイケルに感謝します。

関連する問題