1. MyAdapter.java

package com.example.listviewtest;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import android.content.Context;

public class MyAdapter extends ArrayAdapter<String> {

private final Context Context;
private final String[] data;

public MyAdapter(Context context, String[] data) {
super(context, R.layout.layout_main, data);

this.Context = context;
this.data = data;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater)Context.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);

View rowView = inflater.inflate(R.layout.layout_main, parent, false);
TextView textView = (TextView)rowView.findViewById(R.id.label);
ImageView imageView = (ImageView)rowView.findViewById(R.id.icon);

textView.setText(data[position]);

String dataString = data[position];

if (dataString.startsWith("Windows7") || dataString.startsWith("iPhone")
|| dataString.startsWith("SamSung")) {
imageView.setImageResource(R.drawable.error);
} else {
imageView.setImageResource(R.drawable.check);
}
return rowView;
}
}

 

2. MyListActivity.java

 

package com.example.listviewtest;

 

import android.os.Bundle;
import android.app.ListActivity;

 


public class MyListActivity extends ListActivity {

 

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

 

String[] data = new String[] {
"Android", "iPhone", "SamSung","WindowsMobile", "Blackberry", "WebOS", "Ubuntu", "Windows7",
"Max OS X", "Linux", "OS/2","Fedaora","Linux Mint","Linux Open"};

 

MyAdapter adapter = new MyAdapter(this,data);
setListAdapter(adapter);

}

}

 

3. Layout_main.xml

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

 

<ImageView
android:id="@+id/icon"
android:layout_width="66px"
android:layout_height="66px"
android:layout_marginLeft="4px"
android:layout_marginRight="10px"
android:layout_marginTop="4px"
>
</ImageView>

 

<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@+id/label"
android:textSize="66px" >
</TextView>

 

</LinearLayout>

 參考資料:

LayoutInflater :

http://developer.android.com/reference/android/view/LayoutInflater.html

ListAdapter:

http://developer.android.com/reference/android/widget/ListAdapter.html

ListActivity:

http://developer.android.com/reference/android/app/ListActivity.html

 

3. 結果畫面

 2013-03-01_11-45-21    

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 ArthasTseng 的頭像
    ArthasTseng

    一緒に世界の温度を体験する

    ArthasTseng 發表在 痞客邦 留言(0) 人氣()