1

GreenDroidライブラリをアプリケーションに追加しました。GDActivityを使用してスタートビューを拡張し、NFFApplicationを追加して、アプリケーションタグの下のマニフェストに追加しましたandroid:name=".logic.NFFApplication"

NFFAplication:

public class NFFApplication extends GDApplication {

    @Override
    public Class<?> getHomeActivityClass() {
        return NFFApplication.class;
    }

    @Override
    public Intent getMainApplicationIntent() {
        return new Intent(NFFApplication.this,MainView.class);
    }

}

ログインアクティビティ:

public class LoginView extends GDActivity {

    private ProgressDialog pd = null;
    Editor editor = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setTitle("Movie");
    setActionBarContentView(R.layout.loginlayout);

LogCat:

04-05 16:12:16.714: E/AndroidRuntime(443): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.korn.nff/com.korn.nff.view.LoginView}: android.view.InflateException: Binary XML file line #27: Error inflating class greendroid.widget.ActionBar
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.app.ActivityThread.access$2200(ActivityThread.java:119)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.os.Handler.dispatchMessage(Handler.java:99)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.os.Looper.loop(Looper.java:123)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.app.ActivityThread.main(ActivityThread.java:4363)
04-05 16:12:16.714: E/AndroidRuntime(443):  at java.lang.reflect.Method.invokeNative(Native Method)
04-05 16:12:16.714: E/AndroidRuntime(443):  at java.lang.reflect.Method.invoke(Method.java:521)
04-05 16:12:16.714: E/AndroidRuntime(443):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
04-05 16:12:16.714: E/AndroidRuntime(443):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
04-05 16:12:16.714: E/AndroidRuntime(443):  at dalvik.system.NativeStart.main(Native Method)
04-05 16:12:16.714: E/AndroidRuntime(443): Caused by: android.view.InflateException: Binary XML file line #27: Error inflating class greendroid.widget.ActionBar
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.view.LayoutInflater.createView(LayoutInflater.java:513)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
04-05 16:12:16.714: E/AndroidRuntime(443):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.app.Activity.setContentView(Activity.java:1622)
04-05 16:12:16.714: E/AndroidRuntime(443):  at greendroid.app.GDActivity.ensureLayout(GDActivity.java:187)
04-05 16:12:16.714: E/AndroidRuntime(443):  at greendroid.app.GDActivity.getActionBar(GDActivity.java:265)
04-05 16:12:16.714: E/AndroidRuntime(443):  at greendroid.app.GDActivity.setTitle(GDActivity.java:256)
04-05 16:12:16.714: E/AndroidRuntime(443):  at com.korn.nff.view.LoginView.onCreate(LoginView.java:39)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
04-05 16:12:16.714: E/AndroidRuntime(443):  ... 11 more
04-05 16:12:16.714: E/AndroidRuntime(443): Caused by: java.lang.reflect.InvocationTargetException
04-05 16:12:16.714: E/AndroidRuntime(443):  at greendroid.widget.ActionBar.<init>(ActionBar.java:130)
04-05 16:12:16.714: E/AndroidRuntime(443):  at java.lang.reflect.Constructor.constructNative(Native Method)
04-05 16:12:16.714: E/AndroidRuntime(443):  at java.lang.reflect.Constructor.newInstance(Constructor.java:446)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.view.LayoutInflater.createView(LayoutInflater.java:500)
04-05 16:12:16.714: E/AndroidRuntime(443):  ... 24 more
04-05 16:12:16.714: E/AndroidRuntime(443): Caused by: android.content.res.Resources$NotFoundException: File res/drawable-hdpi/title_bar_shadow.9.png from drawable resource ID #0x0
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.content.res.Resources.loadDrawable(Resources.java:1710)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.content.res.TypedArray.getDrawable(TypedArray.java:548)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.view.View.<init>(View.java:1850)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.view.View.<init>(View.java:1799)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.view.ViewGroup.<init>(ViewGroup.java:284)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.widget.LinearLayout.<init>(LinearLayout.java:92)
04-05 16:12:16.714: E/AndroidRuntime(443):  at greendroid.widget.ActionBar.<init>(ActionBar.java:134)
04-05 16:12:16.714: E/AndroidRuntime(443):  ... 28 more
04-05 16:12:16.714: E/AndroidRuntime(443): Caused by: java.io.FileNotFoundException: res/drawable-hdpi/title_bar_shadow.9.png
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.content.res.AssetManager.openNonAssetNative(Native Method)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.content.res.AssetManager.openNonAsset(AssetManager.java:390)
04-05 16:12:16.714: E/AndroidRuntime(443):  at android.content.res.Resources.loadDrawable(Resources.java:1702)
4

1 に答える 1

3

これが問題であるかどうかは100%わかりませんが、テーマを上書きするのを忘れた可能性がありますか?Greendroidを実行するには、アプリケーションにカスタムテーマが必要です。

greendroidドキュメントの行は次のとおりです。

You finally need to make your project use the GreenDroid base theme. In your AndroidManifest.xml, go to the application tag and add android:theme="@style/Theme.GreenDroid" as a new attribute.

あなたが従わなければならないステップ:

  1. 簡単なgitclonehttp://github.com/cyrilmottier/GreenDroid.gitを使用して、コンピューターにGreenDroidライブラリをダウンロードします。いつものように、GitはGreenDroidリポジトリのクローンを作成し、3つのフォルダーを含むGreenDroidフォルダーを作成します。GreenDroid:コアライブラリ。これは、主にコードにリンクされるコードです。GreenDroid-GoogleAPI:Google API関連機能(GDMapActivityなど)を含むGreenDroidの拡張機能GDCatalog:デモアプリケーション。このプロジェクトには、GreenDroidの使用方法を示すコードスニペットが多数含まれています。

  2. 2010年5月以降、ADTプラグインには、ライブラリプロジェクトを操作する機能という驚くべき新機能が追加されました。GreenDroidの使用は、GreenDroidプロジェクトをライブラリとしてアプリケーションに適用することで構成されます。ライブラリプロジェクトの使用方法の完全な説明は、AndroidドキュメントのWebサイトにあります。古いリリースのツールとプラットフォームはライブラリプロジェクトを使用したビルドをサポートしていないため、開発環境で最新のツールとプラットフォームを使用していることを確認してください。

  3. 一部のGoogleAPI機能を使用する場合は、GreenDroid-GoogleAPIsライブラリを使用していることを確認してください。GreenDroid-GoogleAPIはGreenDroidに基づいています。その結果、AndroidライブラリとしてGreenDroidをプロジェクトにリンクする必要はありません。デフォルトでは、GreenDroidテーマは@ android:style/Themeから継承します。プロジェクトが別のテーマを継承している場合は、GreenDroidライブラリを自分で変更する必要があります(更新するとすべての変更が削除されるため、GreenDroidを更新するたびに変更します-その問題を克服する方法に取り組んでいます)。res / values / gd_themes.xmlを開き、親テーマ@ android:style/Themeを独自のテーマに置き換えます。

  4. GreenDroidの多くの機能(GDActivity、GDListActivity、GDTabActivityなど)では、アプリケーションがGDApplicationである必要があるため、アプリケーションがGDApplicationクラスであることを確認してください。これを行うには、AndroidManifest.xmlのアプリケーションタグにandroid:name = "greendroid.app.GDApplication(greendroid.app.GDApplicationをGDApplicationから継承する独自のクラスに置き換えることができます)を追加するだけです。

  5. 最後に、プロジェクトでGreenDroidベーステーマを使用する必要があります。AndroidManifest.xmlで、アプリケーションタグに移動し、新しい属性としてandroid:theme = "@ style/Theme.GreenDroid"を追加します。

于 2012-04-05T16:25:47.697 に答える