ListViewActivity.java
package com.tstos.ListView_Adapter;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class ListViewActivity extends Activity
{
TextView textview1;
TextView textview2;
TextView listview_title_column1;
TextView listview_title_column2;
TextView listview_title_column3;
GridView gridview1;
ListView listview1;
ImageView imageview1;
String[] android_version;
String[] android_level;
String[] android_code;
Adapter_ListViewActivity adapter;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textview1 = (TextView)findViewById(R.id.TextView1);
textview2 = (TextView)findViewById(R.id.TextView2);
listview_title_column1 = (TextView)findViewById(R.id.ListView_title_column1);
listview_title_column2 = (TextView)findViewById(R.id.ListView_title_column2);
listview_title_column3 = (TextView)findViewById(R.id.ListView_title_column3);
listview1 = (ListView)findViewById(R.id.ListView1);
imageview1 = (ImageView) findViewById(R.id.ImageView1);
//載入default陣列
android_version = getResources().getStringArray(R.array.lstview_array_column1);
android_level = getResources().getStringArray(R.array.lstview_array_column2);
android_code = getResources().getStringArray(R.array.lstview_array_column3);
adapter = new Adapter_ListViewActivity(ListViewActivity.this,
R.layout.simple_list_item_1_small,
android_version,
android_level,
android_code);
listview1.setAdapter(adapter);
//定義ListView的點擊行為
listview1.setOnItemClickListener(new GridView.OnItemClickListener()
{
public void onItemClick(AdapterView parent, View v, int position, long arg3)
{
textview1.setText(android_version[position]);
switch(position)
{
case 0://1.0
imageview1.setAlpha(0);//將圖片設為完全透明
textview2.setText(getResources().getString(R.string.no_code_name));
break;
case 1://1.1
imageview1.setAlpha(0);
textview2.setText(getResources().getString(R.string.no_code_name));
break;
case 2://1.5
imageview1.setAlpha(255);//將圖片設為不透明
imageview1.setImageResource(R.drawable.cupcake);
textview2.setText(getResources().getString(R.string.cupcake));
break;
case 3://1.6
imageview1.setAlpha(255);
imageview1.setImageResource(R.drawable.donut);
textview2.setText(getResources().getString(R.string.donut));
break;
case 4://2.0
imageview1.setAlpha(255);
imageview1.setImageResource(R.drawable.eclair);
textview2.setText(getResources().getString(R.string.eclair));
break;
case 5://2.0.1
imageview1.setAlpha(255);
imageview1.setImageResource(R.drawable.eclair);
textview2.setText(getResources().getString(R.string.eclair));
break;
case 6://2.1
imageview1.setAlpha(255);
imageview1.setImageResource(R.drawable.eclair);
textview2.setText(getResources().getString(R.string.eclair));
break;
case 7://2.2
imageview1.setAlpha(255);
imageview1.setImageResource(R.drawable.froyo);
textview2.setText(getResources().getString(R.string.froyo));
break;
case 8://2.3
imageview1.setAlpha(255);
imageview1.setImageResource(R.drawable.gingerbread);
textview2.setText(getResources().getString(R.string.gingerbread));
break;
case 9://2.3.3 - 2.3.4
imageview1.setAlpha(255);
imageview1.setImageResource(R.drawable.gingerbread);
textview2.setText(getResources().getString(R.string.gingerbread));
break;
case 10://3.0
imageview1.setAlpha(255);
imageview1.setImageResource(R.drawable.honeycomb);
textview2.setText(getResources().getString(R.string.honeycomb));
break;
case 11://3.1
imageview1.setAlpha(255);
imageview1.setImageResource(R.drawable.honeycomb);
textview2.setText(getResources().getString(R.string.honeycomb));
break;
}
}
});
}
}
這是一個繼承BaseAdapter的類別, 在此的建構子接收ListViewActivity.java傳入的
(ListViewActivity.this,R.layout.simple_list_item_1_small,android_version,android_level,android_code);
另外Adapter要載入layout, 本例建立的simple_list_item_1_small.xml是一個含有3個TextView的layout.
Adapter_ListViewActivity.java
package com.tstos.ListView_Adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class Adapter_ListViewActivity extends BaseAdapter
{
static final String TAG = "Adapter_ListViewActivity";
private LayoutInflater mInflater;
String[] adapter_version;
String[] adapter_level;
String[] adapter_code;
TextView column1;
TextView column2;
TextView column3;
public Adapter_ListViewActivity(Context context,
int simple_list_item_single_choice,
String[] android_version,
String[] android_level,
String[] android_code)
{
mInflater = LayoutInflater.from(context);
adapter_version = android_version;
adapter_level = android_level;
adapter_code = android_code;
}
public int getCount()
{
return adapter_version.length;
}
public Object getItem(int position)
{
return adapter_version.length;
}
public long getItemId(int position)
{
return position;
}
public View getView(int position,View convertView,ViewGroup parent)
{
convertView = mInflater.inflate(R.layout.simple_list_item_1_small,null);
column1=(TextView)convertView.findViewById(R.id.column1);
column2=(TextView)convertView.findViewById(R.id.column2);
column3=(TextView)convertView.findViewById(R.id.column3);
column1.setText(adapter_version[position].toString());
column2.setText(adapter_level[position].toString());
column3.setText(adapter_code[position].toString());
return convertView;
}
}
simple_list_item_1_small.xml

沒有留言:
張貼留言