2

を作成しMapViewていて、電話のメニュー ボタンをクリックしたときにメニューを追加したいと考えていました。だから私はそれをしました、そしてそれは次のようになります:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/my_location"
          android:icon="@drawable/compass_base"
          android:title="Meine Position"
          android:showAsAction="ifRoom"/>
</menu>

そして私の活動は次のようになります:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >


    <com.google.android.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mapview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:clickable="true"
    android:apiKey="0zPcuLDMKtZhz-000000000000000000"
    />

    <TextView
        android:id="@+id/tvLongitude"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:text="@string/defaultLongitude" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="Latidude:" />

    <TextView
        android:id="@+id/tvLatitude"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="15dp"
        android:layout_toRightOf="@+id/textView1"
        android:text="@string/defaultLatitude" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginRight="17dp"
        android:layout_toLeftOf="@+id/tvLongitude"
        android:text="Longitude" />

</RelativeLayout>

問題は、メニューボタンをクリックすると閉じて、Logcat が次のように言うことです。

10-24 07:26:20.736: E/AndroidRuntime(372): java.lang.RuntimeException: Expecting menu, got RelativeLayout

RelativeLayout経度と緯度を今行っているように、MapViewに物事を表示できるので、残したい

メニューのMainActivityメソッドは次のとおりです。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater menuInflater = getMenuInflater();
    menuInflater.inflate(R.layout.activity_main, menu);
    return true;
}
4

2 に答える 2

2

Androidは、メニューの開発者向けガイドを提供しています。
これに基づいて、次の方法でメニューのインフレーションを行う必要があります。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.game_menu, menu);
    return true;
}

したがって、menuInflater.inflate()Yoursコードの最初のパラメータが正しくありません。res/menuフォルダーにあるmenuxmlを使用する必要があります。

于 2012-10-24T08:02:13.817 に答える
0

メニューファイルの名前がactivity_main(デフォルト)であると仮定して、コードを次のように変更します。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater menuInflater = getMenuInflater();
    menuInflater.inflate(R.menu.activity_main, menu);
    return true;
}
于 2012-10-24T08:02:29.287 に答える