2012-03-17 9 views
1

私のonCreateメソッドには次のコード行があります。CalendarViewのインスタンスを作成する

CalendarView calendar = (CalendarView) findViewById(R.id.cal); 

私はこのCalendarViewから現在選択された日付を取得し、文字列に変換しようとしているが、このcalendar.getDate()を行うために使用する方法イムでいます。エラーが発生しています。

答えて

1

あなたCalendarViewオブジェクトが自分のクラスのスコープ(などなどの方法、サブクラス)のすべてにアクセスし、それがプロパティだ、メソッドなどを使用したい場合は、単にあなたのonCreate前に、あなたの参照を作成します方法。

CalendarView calendar; 

次に、レイアウトにアクセスしてonCreateメソッドでinitiliazeします。

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.mylayout); //mylayout refers to your layout that you want to display 
calendar = (CalendarView) findViewById(R.id.calendarid); //Refers to CalendarView that you declared in your layout. 

} 

コンテキストの名前と同じように、アクティビティやアプリケーション自体についての情報を保持します。詳細はこちらをご覧ください。

http://developer.android.com/reference/android/content/Context.html

1

実際には、それをXMLで定義すると、それはDalvikによってインスタンス化されます。その必要はありません。実行する必要があるのはインスタンスへの参照です。これは、そのように行われます。

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); // assuming your layout XML is called main 
    CalenderView calendar = (CalenderView) findViewById(R.id.theCalendarId); // the ID you gave in the XML 
    // Now you can refer to the calendar. 
} 
+0

私がこの私を混同している怖いので、私はこのことから、現在選択された日付を取得する方法を私CalendarViewのうちのカレンダーと呼ばれるオブジェクトを作成しましたか?私はドキュメントに記載されているメソッドを呼び出すことはできません。 – nexus490

+0

1.新しいオブジェクトを作成しないでください。画面に表示されるオブジェクトと同じオブジェクトではありません。 2.なぜドキュメンテーションのメソッドを使用できないのですか? – MByD

+0

CalendarViewのメソッドには、getDate()というメソッドがあります。このメソッドは、私が呼び出して文字列に変換することを推測しますが、私はカレンダーを使用します。その方法はリストされたものの1つではありません。 – nexus490

関連する問題