WEB开发网
开发学院手机开发Android 开发 Android 如何创建列表视图 阅读

Android 如何创建列表视图

 2010-04-20 06:05:00 来源:WEB开发网   
核心提示:接着上一篇实现一个带有复选框的列表视图,这要求对Adapter有比较清楚的理解,Android 如何创建列表视图,1. ArrayAdapter从Layout读取TextView控件,返回给ListView显示,看下面的代码:CheckListView.javaclass CheckArrayAdapter exten

接着上一篇实现一个带有复选框的列表视图,这要求对Adapter有比较清楚的理解。

1. ArrayAdapter从Layout读取TextView控件,返回给ListView显示,这个处理在ArrayAdapter的getView方法里,我们可以继承这个类,覆盖getView,改成读取CheckBox控件,看下面的代码:

CheckListView.java

class CheckArrayAdapter extends ArrayAdapter

{

public CheckArrayAdapter(Context context, int checkBoxResId,

T[] objects)

{

super(context, checkBoxResId, objects);

}

public CheckArrayAdapter(Context context, int checBoxResId)

{

super(context, checBoxResId);

}

public View getView(int position, View convertView, ViewGroup parent, int resource)

{

CheckBox checkBox;

if (convertView == null)

checkBox = (CheckBox)LayoutInflater.from(getContext()).inflate(resource, parent, false);

else

checkBox = (CheckBox)convertView;

T item = getItem(position);

if (item instanceof CharSequence)

checkBox.setText((CharSequence) item);

else

checkBox.setText(item.toString());

return checkBox;

}

}

2. 前一篇的CheckListView类改为从ListActivity继承,ListActivity默认以ListView为根视图,因此不需要Layout文件以及调用setContentView。

CheckListView.java

public class CheckListView extends ListActivity

{

@Override

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

CheckArrayAdapter adapter = new CheckArrayAdapter(

this, R.layout.checkbox_item, mStrList);

getListView().setAdapter(adapter);

getListView().setOnItemClickListener(new AdapterView.OnItemClickListener()

{

@Override

public void onItemClick(AdapterView parent, View view, int pos,

1 2  下一页

Tags:Android 如何 创建

编辑录入:coldstar [复制链接] [打 印]
赞助商链接