0

これが私の問題です:

Android2.3アプリでActionBarを取得しようとしています。ActionBarSherlockを使用することにしました。ZIPをインポートしてライブラリにすることで、新しいプロジェクトを作成しました。

現在のプロジェクトにライブラリとして追加しました。

次に、互換性ライブラリを削除しない限り機能しません(Dalvik形式への変換がエラー1で失敗しました)

だから私はそれを削除し、コンパイル時にエラーはもうありません。しかし、私がそれを使おうとすると、それは常にnullを返します。何か小さなものが足りないのかどうかはわかりませんが、これがしばらくの間私を悩ませてきました。アドバイスをいただければ幸いです。コードスニペットもいくつかあります。

マニフェスト:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.StuMan"
  android:versionCode="1"
  android:versionName="1.0"
  android:theme="@style/Theme.Sherlock">
<uses-sdk android:minSdkVersion="4"
          android:targetSdkVersion="13" />

そして、私のアクティビティで行う呼び出し:

import java.util.ArrayList;
import com.StuMan.R;
import android.app.ActionBar;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.Window;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.Toast;

public class WelcomeGrid extends FragmentActivity{

private ArrayList<String> parts = new ArrayList<String>();
final String [] items=new String[]{"Classes", "Calendar", "To-Do List"};

@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.welcome_grid);
    requestWindowFeature(Window.FEATURE_ACTION_BAR_ITEM_TEXT);

    Toast.makeText(getApplicationContext(), String.valueOf(getSupportActionBar().isShowing()), Toast.LENGTH_LONG);

    GridView gv = (GridView)findViewById(R.id.gv_welcome);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items);

    gv.setAdapter(adapter);

}

}

4

1 に答える 1

2

ActionBarSherlock にはサポート パッケージが含まれている (および拡張されている) ため、サポート パッケージを含める必要はありません。ActionBarSherlock のソースを確認すると、android.support.v4.*クラスが表示されます。

特に親テーマに関する使用方法の説明を読み直すまで、getSupportActionBar() が null を返すようになっていました。

3.0 より前のデバイスでアクション バーを機能させるには、アクティビティで Theme.Sherlock または Theme.Sherlock.Light を使用するか、カスタム テーマで前述の 2 つのうちの 1 つを親として使用する必要があります。

アプリケーション要素に含める

<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" 
        android:theme="@style/Theme.Sherlock">
于 2011-11-26T15:42:05.400 に答える