7

Eclipseでandroidが提供するチュートリアルを使用して最初のアプリをビルドしようとしています。

私はすべてをやりましたが、エラーメッセージが表示されます...「メニューを解決できないか、フィールドではありません」。チュートリアルではメニューについて何も言及されておらず、私はそれに対して何もしていないと確信しています。コメントでマークしたことについて文句を言っている行。

package com.example.my.first.app;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

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

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);        <!--this line-->
    return true;
}
}

これは、チュートリアルで編集を求められたメインのアクティビティページです...

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<EditText android:id="@+id/edit_message"
    android:layout_weight="1"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:hint="@string/edit_message" />
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_send" />
</LinearLayout>

私がそれをクリックしようとした他の質問で見つけたアドバイスを外し、「R」タイプの「フィールドの作成」メニューまたは「R」タイプの「定数の作成」メニューのいずれかを求めているものを含めます。私は両方を別々に行い、プロジェクトを保存して再構築するたびに、含まれていた行が自動的に削除されます。

フィールドでは、これが行われました。-パブリック静的オブジェクトメニュー。定数の場合、これが行われました。--public static final String menu = null;

だから私は今少し立ち往生していて、いくつかの非常に必要な助けをお願いします。

4

4 に答える 4

8

onCreateOptionsMenuメソッドは、/ res / menuフォルダーにある必要があり、XMLとして実装されているメニューを参照します。このように見えます:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_settings"
    android:title="@string/menu_settings"
    android:orderInCategory="100" />
</menu>

このコードをコピーして貼り付けるか、activity_main.xmlとして/ res / menuフォルダーに保存するか(コードがない場合は作成します)、メソッド全体を削除します。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);        <!--this line-->
    return true;
}

これは、デバイスのメニューボタンを押したときにメニューを開くことです。メソッドを削除すると、そのようなメニューは表示されなくなります。必要に応じて作成できます。

于 2012-08-16T14:25:52.400 に答える
4

android.Rをインポートしているかどうかを確認してください。その場合は、その行を削除します。

于 2012-11-22T17:59:35.410 に答える
1

menu.xmlファイルをres/menu/ディレクトリに配置してください。

于 2012-08-16T14:23:11.153 に答える
0

EclipseIDEの使用--->Eclipseでのパッケージ探索>res>menu> main.xmlまたはmain_activity_actionsファイル...その名前を確認し、ステートメントinflater.inflate(R.menu.main、menu);に入れます。インフレータステートメントで使用している名前は解決できないか、アプリのフィールドです。最初にそれを確認してから、メニューディレクトリの正しいファイル名を確認してから、ステートメントで使用してください。

于 2013-12-31T08:44:01.073 に答える