1

私はロケーションアプリを実行しようとしていますが、現在トラブルシューティングフェーズにあります。私は私の最後の2つの問題に取り掛かっています、そしてそれらは両方ともR.blahblahに関係しています。mainがフィールドではないか、解決できず、同じメッセージですが、mainの代わりにmapviewが使用されていることを示しています。以下は私のインポートと問題があるコードの行です。

コード:

    setContentView(R.layout.main);
    mapview = (MapView)findViewById(R.id.mapview);

輸入:

    import android.R;
    import android.R.layout;
    import android.R.id;
    import android.location.Location;
    import android.location.LocationListener;
    import android.location.LocationManager;
    import android.os.Bundle;
    import android.widget.Toast;

    import com.google.android.maps.GeoPoint;
    import com.google.android.maps.MapActivity;
    import com.google.android.maps.MapController;
    import com.google.android.maps.MapView;

私はすべてを試しました。私は人々がandroid.Rを取り出すように言い続けていることを知っていますが、それはR.layoutとR.idがjarファイルにある場所です。フォルダを右クリックしてコードを検証しました。Project/Cleanに行ってそれを行いました。運がない。助けてください?そして、これは私の最初の投稿なので、フォーマットが間違っていると申し訳ありません。よろしくお願いします。これが私のmain.xmlです

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    <TextView android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Waiting for location..."
        android:id="@+id/lblLocationInfo"
    />
    <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="0vFrUOhHMkbahT9zXqiz_DuNVWfPqlEyqcO8ftg"
    />
    </LinearLayout>
4

4 に答える 4

2

行を削除してみてください:

import android.R;

次に、Build Cleanを実行します。これにより、問題を解決できます。

于 2012-07-31T18:52:48.097 に答える
2

あなたがアンドロイドからのリソースを使用していない限り、あなたは行を必要としないはずです

import android.R; 
import android.R.Id;
import android.R.layout;

それらの行を削除します

RはアンドロイドRに解決されており、ではありませんcom.yourpackage.yourproject.R

不要な場合はインポートを削除します。コードで明示的にする必要がある場合。元。

ImageView.setDrawable(android.R.ic_menu_search); //uses an android resource

findViewById(R.id.mapView); //uses your resource file

setContentView(R.layout.activity_main); // must have an activity_main.xml file in YourProject/res/layout

編集:

以下のコードへの変更:

//import android.R;
//import android.R.layout;    //comment or delete these lines
//import android.R.id;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.Toast;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;

setContentView(R.layout.activity_main);  //changed main to activity_main
mapview = (MapView)findViewById(R.id.mapview);

編集2

MainActivity.javaの一番上に、packageその行の残りの部分が何を言っているかで始まる行が必要です。

AndroidManifest.xmlには、パッケージのエントリもあります。

于 2012-07-31T19:02:28.210 に答える
0

これは、プロジェクトの設定にも関係している可能性があります。新しいプロジェクトを作成するときに私が通常行うことは、「注文とエクスポート」オプションを設定することです。そうすれば、R。*パッケージをインポートする必要はありません。

Eclipseで、プロジェクトを右クリックしてに移動しますProperties -> Java Build Path -> Order and Export。yourprojectname/genフォルダーがyourprojectname/srcフォルダーの上にあることを確認してください。

于 2012-07-31T19:00:59.887 に答える
0

R.javaこれは自己生成ファイルです。生成するには再ビルドする必要があります。警告を無視して、ファイルを「ビルドクリーン」します。

于 2012-07-31T18:54:42.370 に答える