2014-02-25 34 views
0

嗨,每一個我有這個問題。我確實需要在Android aplication添加兩個標籤,我讀了如何做到這一點的developer.android.com但我不能運行的程序我不能運行非常簡單的例子標籤上的android

這裏是MI代碼:

package com.example.example; 

import android.os.Bundle; 
import android.app.ActionBar; 
import android.app.Activity; 
import android.app.FragmentTransaction; 
import android.app.ActionBar.Tab; 
import android.view.Menu; 

public class MainActivity extends Activity { 

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

     final ActionBar actionBar = getActionBar(); 

     actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

     ActionBar.TabListener tabListener = new ActionBar.TabListener() { 


      @Override 
      public void onTabUnselected(Tab tab, FragmentTransaction ft) { 
       // TODO Auto-generated method stub 

      } 

      @Override 
      public void onTabSelected(Tab tab, FragmentTransaction ft) { 
       // TODO Auto-generated method stub 

      } 

      @Override 
      public void onTabReselected(Tab tab, FragmentTransaction ft) { 
       // TODO Auto-generated method stub 

      } 
     }; 

     // Add 3 tabs, specifying the tab's text and TabListener 
     for (int i = 0; i < 3; i++) { 
      actionBar.addTab(
        actionBar.newTab() 
          .setText("Tab " + (i + 1)) 
          .setTabListener(tabListener)); 
     } 


    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

} 

這裏是編譯錯誤:

02-23 16:09:20.164: E/AndroidRuntime(23928): FATAL EXCEPTION: main 
02-23 16:09:20.164: E/AndroidRuntime(23928): java.lang.NoSuchMethodError: com.example.example.MainActivity.getActionBar 
02-23 16:09:20.164: E/AndroidRuntime(23928): at com.example.example.MainActivity.onCreate(MainActivity.java:17) 
02-23 16:09:20.164: E/AndroidRuntime(23928): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1082) 
02-23 16:09:20.164: E/AndroidRuntime(23928): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1698) 
02-23 16:09:20.164: E/AndroidRuntime(23928): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1753) 
02-23 16:09:20.164: E/AndroidRuntime(23928): at android.app.ActivityThread.access$1500(ActivityThread.java:155) 
02-23 16:09:20.164: E/AndroidRuntime(23928): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:999) 
02-23 16:09:20.164: E/AndroidRuntime(23928): at android.os.Handler.dispatchMessage(Handler.java:130) 
02-23 16:09:20.164: E/AndroidRuntime(23928): at android.os.Looper.loop(SourceFile:351) 
02-23 16:09:20.164: E/AndroidRuntime(23928): at android.app.ActivityThread.main(ActivityThread.java:3820) 
02-23 16:09:20.164: E/AndroidRuntime(23928): at java.lang.reflect.Method.invokeNative(Native Method) 
02-23 16:09:20.164: E/AndroidRuntime(23928): at java.lang.reflect.Method.invoke(Method.java:538) 
02-23 16:09:20.164: E/AndroidRuntime(23928): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:969) 
02-23 16:09:20.164: E/AndroidRuntime(23928): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:727) 
02-23 16:09:20.164: E/AndroidRuntime(23928): at dalvik.system.NativeStart.main(Native Method) 

我認爲這個問題是在manifest.xml,因爲當我試圖inserte這兩條線:

actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS) 
ActionBar.TabListener tabListener = new ActionBar.TabListener() { 

日食給我看,說:「對鉛丹SDK應該是11,你的鉛丹SDK是8」

然後我改變它在manifest.xml中,menssage錯誤disapear但我不能上運行一個錯誤我的手機

這裏是MI android_manifest.mxl:

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

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="19" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.example.example.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> 

回答

0

您應該使用support庫來使用設備ActionBar運行SO版本低到API 11

看看如何Setup Support Library

爲了使用ActionBar的你應該叫:

final ActionBar actionBar = geSupportActionBar(); 

爲了確保一切工作沒關係,你必須import android.support.v7.app.ActionBar

+0

我有android.support.v4.app我添加了它,但顯示一個錯誤 「只能導入一個類型android.support.v4.app解析爲一個包」 – Disa

+0

支持'ActionBar'在v7庫而不是v4! – yugidroid

+0

OK,然後我有一個具有進口三個jar 到項目 1.-程序兼容性 2:網格佈局 3.- mediarouter 至極我應該導入到我的項目三個目錄? – Disa

相關問題