package com.proto.toolslist;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.widget.AdapterView;
import android.widget.LinearLayout;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
//import android.view.Window;
public class ToolsList extends Activity {
private final static int MatchParent=LayoutParams.MATCH_PARENT;
private final static int WrapContent=LayoutParams.WRAP_CONTENT;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.main); 書き換え
// ウィンドウタイトルの非表示
// requestWindowFeature(Window.FEATURE_NO_TITLE);
// レイアウトの生成
LinearLayout layout=new LinearLayout(this);
layout.setPadding(10,10,10,10);
layout.setBackgroundColor(Color.LTGRAY); // 背景色の指定
layout.setOrientation(LinearLayout.VERTICAL); // HORIZONTAL, VERTICAL
setContentView(layout);
// テキストの生成
TextView txtView;
txtView = new TextView(this);
txtView.setTextColor(Color.MAGENTA);
txtView.setTextSize(16f);
txtView.setText("リスト表示のチェック");
layout.addView(txtView,
new LinearLayout.LayoutParams(WrapContent,WrapContent));
// 画像(イメージ)の指定
Bitmap imgArrow=BitmapFactory.decodeResource(
getResources(),R.drawable.bt_img_square_go);
// リスト要素の生成
List list=new ArrayList();
for (int i=0;i<12;i++) {
// リストの要素(項目名,備考,矢印)
list.add(new ListItem((i+1)+".項目名","remarks:"+i,imgArrow));
}
// リストアダプターの生成
ListAdapter listAdapter=new ListArrayAdapter(this,list);
// リストビューの生成(リストアダプターの取り込み)
ListView listView=new ListView(this);
listView.setScrollingCacheEnabled(false);
listView.setAdapter(listAdapter);
// リストビューの配置
layout.addView(listView,
new LinearLayout.LayoutParams(MatchParent,WrapContent));
// リストビューのクリック・リスナー
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(
AdapterView> parent,View view,int position,long id) {
// クリックされたアイテムのポジション(+1)
String pt=String.valueOf(position+1);
// クリックされたアイテムの取得
// (リストビュー ⇒ リストアダプター ⇒ リストアイテム)
ListView listView=(ListView) parent;
ListAdapter listAdapter=listView.getAdapter();
ListItem item=(ListItem)listAdapter.getItem(position);
// クリックされたアイテムのポジション、項目名のトースト通知
String itemText=pt+" (クリック) "+item.getName();
toastText(itemText);
}
});
// リストビューの選択(キー操作)リスナー
listView.setOnItemSelectedListener(
new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(
AdapterView> parent,View view,int position,long id) {
// セレクトされたアイテムのポジション(+1)
String pt = String.valueOf(position+1);
// セレクトされたアイテムの取得
// (リストビュー ⇒ リストアダプター ⇒ リストアイテム)
ListView listView = (ListView) parent;
ListAdapter listAdapter=listView.getAdapter();
ListItem item=(ListItem)listAdapter.getItem(position);
// セレクトされたアイテムのポジション、項目名のトースト通知
String itemText=pt+" (セレクト) "+item.getName();
toastText(itemText);
}
@Override
public void onNothingSelected(AdapterView> parent) {
}
});
}
// テキストのトースト通知
public void toastText(String strText) {
Toast.makeText(this,strText,Toast.LENGTH_LONG).show();
}
}
|