前回は、リストビューに自分の好きな文字列をリストビューのアイテムとして追加しました。今回はをリストビューに日付を表示してみたいと思います。
では前回と同じようにレイアウトの作成を行ってください
[簡単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];
// リストビューに表示する文字列を、格納するアダプターの作成
ArrayAdapter adapter = 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
では実行してみましょう。
項目をクリックすると・・・
トーストが表示されます。
Follow Us
Twitter,Google+ では当ブログの更新通知を行っています。気軽にフォローしてください。またブログの内容についての質問などにもなるべく返信致します。