前回は、リストビューに自分の好きな文字列をリストビューのアイテムとして追加しました。今回はをリストビューに日付を表示してみたいと思います。
では前回と同じようにレイアウトの作成を行ってください
[簡単Androidアプリ] リストビュー(ListView)を使ってみよう!!
Coding
コードの編集を行っていきます。
SampleMain.java
package com.sample.brogger; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import android.annotation.SuppressLint; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; public class SampleMain extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // レイアウトの指定 setContentView(R.layout.activity_sample_main); // オブジェクトの作成 ListView lv = (ListView) findViewById(R.id.listView1); // リストビュー表示する文字列を設定します String[] lvStr = new String[50]; // リストビューに表示する文字列を、格納するアダプターの作成 ArrayAdapteradapter = new ArrayAdapter (this, android.R.layout.simple_list_item_1, lvStr){ @SuppressLint("SimpleDateFormat") public View getView(int pos, View convView, ViewGroup parent) { // 日付の表示形式を指定 DateFormat df = new SimpleDateFormat("yyyy/MM/dd"); // カレンダーのオブジェクトを取得 Calendar cl = Calendar.getInstance(); // 今日の日付を取得 cl.setTime(new Date()); // 今日の日付に行数を足し、表示する日付を取得 cl.add(Calendar.DATE, pos); // 取得した日付をtmpTvに格納 TextView tmpTv = new TextView(getBaseContext()); tmpTv.setText(df.format(cl.getTime())); // テキストのサイズを設定 tmpTv.setTextSize(20); // テキストのカラーを設定 tmpTv.setTextColor(Color.BLACK); // 日曜日ならばテキストの色を変更 if(cl.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) { tmpTv.setTextColor(Color.RED); } convView = tmpTv; return convView; } }; // リストビューにアダプターを設定 lv.setAdapter(adapter); // リストビューの項目をクリックした時の処理をするリスナ lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { // クリックされた項目の文字列を取得 TextView tmpTv = (TextView) view; // トーストに取得した文字列を表示 Toast.makeText(SampleMain.this, tmpTv.getText() + "が選択されました", Toast.LENGTH_LONG).show(); } }); } }
Execution
では実行してみましょう。
項目をクリックすると・・・
トーストが表示されます。
0 コメント: