-1

私はアンドロイドでアプリを作っています、そして私はグーグルマップを使っています。

ユーザーが場所を入力できるナビゲーション画面があります。

次に、ボタンをクリックすると、マップビューが開きます。

ここでは、彼らが入力した場所もナビゲートする必要があります。

このコードを実行すると、map.classのplaatsのnullpointerexceptionが発生します

私のナビゲーションコードは次のとおりです。

   public class Navigatie extends Activity{
        public String plaats;   

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

            EditText text = (EditText)findViewById(R.id.title);
            this.plaats = text.getText().toString();

            // We create a new ImageButton which links to the map.java class 
            ImageButton imageButton = (ImageButton) findViewById(R.id.imageButton1);
            // We give a onclicklistener method to the button imageButton
                   imageButton.setOnClickListener(new OnClickListener() {

                // if the imageButton is clicked we start a new activity called "Map"
                public void onClick(View v) {
                    startActivity(new Intent(Navigatie.this, Map.class));
                }
            });
        }
    }

場所の表示がコード化されている私の地図のコードは次のとおりです:(コードの一部)

 public Navigatie nav;

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

 mapView = (MapView) findViewById(R.id.mapview1);

 mc = mapView.getController();

 mapView.setBuiltInZoomControls(true);
 String plaats = nav.plaats;
 Geocoder geoCoder = new Geocoder(this, Locale.getDefault());
 try 
 {
   List<Address> addresses = geoCoder.getFromLocationName(plaats, 5);
   String strCompleteAddress = "";
   if (addresses.size() > 0) {
   GeoPoint p = new GeoPoint(
   (int) (addresses.get(0).getLatitude() * 1E6),
   (int) (addresses.get(0).getLongitude() * 1E6));
   mc.animateTo(p);
   mapView.invalidate();
   }
 } catch (IOException e) {
       e.printStackTrace();
 }
4

2 に答える 2

1

インテントに plaats を追加します。これにより、次を使用してマップが開始されます

intent.putExtra("location", this.plaats);

次に、oncreate でアクティビティをマップします。

String map_plaats = this.getIntent().getStringExtra("location");
于 2012-10-24T15:08:50.150 に答える
1

文字列を他のアクティビティに送信したいようです。

このために、次を使用できputExtra("key", "value");ます

この文字列は Map.class で次のように取得できます

getIntent().getStringExtra("key");

インテントの詳細については、こちらをご覧ください

于 2012-10-24T15:11:08.683 に答える