画像付のリスト表示
- Android
-
2011-11-29 - 更新:2011-12-09
この記事は最終更新日から1年以上経過しています。
【Listactivity.java】
public class ListActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// データの作成
List<CustomData> objects = new ArrayList<CustomData>();
Bitmap image;
image = BitmapFactory.decodeFile(getResources(), R.drawable.ic_lancher);
CustomData item = new CustomData();
item.setImage(image);
for ( int i = 1; i <= 3; i++ ) {
item.setId(i);
item.setNumber(String.valueOf(i));
objects.add(item);
}
CustomAdapter customAdapter = new CustomAdapter(this, 0, objects);
ListView listView = (ListView)findViewById(R.id.list);
listView.setAdapter(customAdapter);
}
}
class CustomAdapter extends ArrayAdapter<CustomData> {
private LayoutInflater layoutInflater_;
public CustomAdapter(Context context, int textViewResourceId, List<CustomData> objects) {
super(context, textViewResourceId, objects);
layoutInflater_ = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// 特定の行(position)のデータを得る
CustomData item = (CustomData)getItem(position);
// convertViewは使い回しされている可能性があるのでnullの時だけ新しく作る
if (null == convertView) {
convertView = layoutInflater_.inflate(R.layout.list_item, null);
}
// CustomDataのデータをViewの各Widgetにセットする
ImageView imageView;
imageView = (ImageView)convertView.findViewById(R.id.imageView1);
imageView.setImageBitmap(item.getImage());
TextView textView;
textView = (TextView)convertView.findViewById(R.id._id);
textView.setText(String.valueOf(item.getId()));
TextView textView2;
textView2 = (TextView)convertView.findViewById(R.id.number);
textView2.setText(item.getNumber());
return convertView;
}
}
class CustomData {
private Bitmap image_;
private int id_;
private String number_;
public void setImage(Bitmap image) {
image_ = image;
}
public Bitmap getImage() {
return image_;
}
public void setId(int id) {
id_ = id;
}
public int getId() {
return id_;
}
public void setNumber(String number) {
number_ = number;
}
public String getNumber() {
return number_;
}
}
【main.xml】
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
【list_item.xml】
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:padding="8px" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="80sp"
android:layout_height="50sp" />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginLeft="6px" >
<TextView
android:id="@+id/_id"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="15sp" />
<TextView
android:id="@+id/number"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="15sp" />
</LinearLayout>
</LinearLayout>
ListView関連で参考にさせていただいたURL
http://techbooster.jpn.org/andriod/ui/1282/
http://lablog.lanche.jp/archives/220
http://slumbers99.blogspot.com/2011/08/android-listview.html
http://labs.techfirm.co.jp/android/cho/751
http://d.hatena.ne.jp/tomstay/20110421/1303391426
http://www.adakoda.com/android/000077.html
この記事がお役に立ちましたらシェアお願いします
4,545 views




