CalendarViewを使って日付クリックして写真表示したい場合はどうしたらいいですか?
考えてみたのですが、この場合OnClickListener使えばいいのですか?
下にコードがあります。
MainActivity.java
package com.example.personal.calendersample2;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.CalendarView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ((CalendarView) findViewById(R.id.calendarView)).setOnDateChangeListener(listener); } /** * カレンダーの日付部分タップ時のリスナー */ CalendarView.OnDateChangeListener listener = new CalendarView.OnDateChangeListener() { /** * 日付部分タップ時に実行される処理 * @param view 押下されたカレンダーのインスタンス * @param year タップされた日付の「年」 * @param month タップされた日付の「月」※月は0月から始まるから、+1して調整が必要 * @param dayOfMonth タップされた日付の「日」 */ @Override public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) { // とりあえずトースト表示してみる Toast.makeText(getApplicationContext(), year + "年" + (month + 1) + "月" + dayOfMonth + "日がクリックされました", Toast.LENGTH_SHORT).show(); // TODO: // 引数の year, month, dayOfMonthを利用して、DBから予定表を取得 // ListViewに予定表リストを突っ込む } };
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity">
</LinearLayout><CalendarView android:id="@+id/calendarView" android:layout_width="match_parent" android:layout_height="match_parent" />
あなたの回答
tips
プレビュー