2011-07-18 64 views
2

Googleマップを画面に表示するアクティビティを作成しました.3つのオプションメニューでユーザーの選択を操作します。マップビューで入力ダイアログまたは日付ピッカーを作成するにはどうすればよいですか?

ユーザーがサブメニューを押すと、ユーザーが日付(dd/mm/yyyy)またはポップアップ日付ピッカーを入力できるポップアップ入力ダイアログボックスを表示したいと思います。私はその日付を使用して、その日に保管されていた場所を照会し、地図上に印を付けます。

私の問題は、入力ダイアログを作成しようとしたとき、またはサブメニュー内に何かを作成しようとしたときです。マップビュー以外は表示されません。私はそれがこのようにするために特別な何かを持っているかもしれないと思う。だから、私は何日も捜しましたが、それでも答えは得られません。

いずれかのアイデアがありますか? お願いします。これは私の初めてのGoogleマップです。すべての答えを気に入ってください。

+0

:あなたのようなものが必要になりますMapActivityを拡張するクラスでそう

。 :) – RedBlueThing

+0

問題ありません。あなたがより良い気分になろうと思っています:) – RedBlueThing

+0

私は病気になって、一週間前から休みを取ってしまったので、非常に遅い応答で申し訳ありません。私は後であなたに伝えます。ありがとうございました:) – Yoo

答えて

1

問題は具体的にはMapActivityではありません。私はこの機能(date pickerを示すMapActivityサブクラス)を持っているアプリを持っており、何の問題もありませんでした。私は問題があなたの日付ピッカーをどのように表示しているのかと疑っています。おそらく、これを確認するために単純なアクティビティ(MapActivityから派生していないアクティビティ)を試してみてください。私は私の答えで明確にすることができます何がある場合は私に知らせてください

// the id for your dialog 
static final int DATE_DIALOG_ID = 0; 
// the date from the picker 
Date mDate; 

// so you are defining a member variable mDateSetListener which implements 
// onDateSet. This gets called when the user selects a date. 
private DatePickerDialog.OnDateSetListener mDateSetListener = 
    new DatePickerDialog.OnDateSetListener() { 
     public void onDateSet(DatePicker view, int year, 
           int monthOfYear, int dayOfMonth) { 

      Calendar cal = GregorianCalendar.getInstance(); 
      cal.set (year, monthOfYear, dayOfMonth); 

      // store the date that was picked 
      mDate = cal.getTime(); 

      // update your map 
      // ... 
     } 
}; 

@Override 
protected android.app.Dialog onCreateDialog(int id) { 
    switch (id) { 

    case DATE_DIALOG_ID: 

     final Calendar c = Calendar.getInstance(); 

     int year = c.get(Calendar.YEAR); 
     int month = c.get(Calendar.MONTH); 
     int day = c.get(Calendar.DAY_OF_MONTH); 

     return new DatePickerDialog(this, 
       mDateSetListener, 
       year, month, day); 
    } 
    return null; 
} 

@Override public boolean onMenuItemSelected(int featureId, MenuItem item) 
{ 
    switch(item.getItemId()) 
    { 
     // handle your date selection menu item 
     case R.id.date: 
      showDialog(DATE_DIALOG_ID); 
      break; 
    } 
} 
+0

DATE_DIALOG_IDとmDateSetListenerについて説明してください。どこから来たのですか? mDateは日付型です。 – Yoo

+1

@Yooこれらのメンバー変数とmDateSetListenerの説明で更新しました。 – RedBlueThing

+0

あなたの答えに従いますが、画面上には何も表示されません。 – Yoo

関連する問題