2015-08-24 58 views
1

enter image description here 我試圖讓機器人。我getActionBar對象正在逐漸價值,爲什麼? 這是我主要的Java文件如何在android中獲取getActionBar對象?

package com.example.naveen.tabfragment; 


import android.app.ActionBar; 
import android.app.Activity; 
import android.app.Fragment; 
import android.os.Bundle; 

public class MainActivity extends Activity { 
    // Declare Tab Variable 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.activity_main); 
     ActionBar actionBar =getActionBar(); 


    } 
} 

應用gradle這個文件

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 22 
    buildToolsVersion "22.0.1" 

    defaultConfig { 
     applicationId "com.example.naveen.tabfragment" 
     minSdkVersion 14 
     targetSdkVersion 22 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:22.2.1' 
} 

清單文件

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.naveen.tabfragment" > 

    <uses-sdk 
     android:minSdkVersion="14" 
    /> 
    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

style.xml文件

<resources> 

    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light" > 
    <!-- Customize your theme here. --> 
    </style> 

</resources> 

我在此行得到空值

動作條動作條= getActionBar();

我使用Android的工作室。而在MOTOE 4.4.2

+2

由於您使用'AppCompat'作爲你的主題,你應該使用'AppCompatActivity',而不是'Activity',和''而不是getActionBar()''getSupportActionBar()。 –

+0

我試了一下,得到上述錯誤請above..please檢查我的更新一個 – user944513

回答

2

測試如果使用支持庫,你應該使用 getSupportedActionBar()方法。 你也應該從支持的庫不正常一個導入正確的類。

+0

哪一類,我需要進口 – user944513

+0

可以導入'android.support.v7.app.ActionBar' –

+0

如果你不知道究竟哪一個類應該是進口的,簡單的方法是除去進口前。用單詞ActonBar並允許Android Studio用新的導入提示您。請記住選擇一個帶有「支持」單詞的單詞。 – Rafal

1

您的主題是AppCompat,所以您的擴展類必須是AppCompatActivity而不是活動。

如果擴展AppcompatActivity類,然後使用getSupportActionBar()代替getActionBar().

所以,最後

ActionBar actionBar=getSupportActionBar();

我希望它可以幫助你。

相關問題