Android[初级教程]第五章 ListView控件
这次我们来学习ListView控件,ListView控件可以将数据以行的形式展示出来,并可以对单项的单击进行事件监听,妖怪们一起一个一个抓唐僧师徒了,什么?你不喜欢看西游记?喜欢看水浒传,妈呀!108将,你想让我打字打死啊?呵呵,玩笑.
让我们来看一下main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView android:layout_height="wrap_content" android:id="@+id/listView"
android:layout_width="match_parent"></ListView>
<TextView android:layout_height="wrap_content"
android:layout_width="fill_parent" android:text="@string/hello"
android:id="@+id/text"></TextView>
</LinearLayout>
主要Activity的java代码:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class ButtonDemoActivity extends Activity implements OnItemClickListener
{
private TextView text = null;
private String[] item = { "唐僧", "孙悟空 ", "猪八戒", "沙和尚" };
private ListView listView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 通过ID查找到main.xml中的TextView控件
text = (TextView) findViewById(R.id.text);
// 通过ID查找到main.xml中的ListView控件
listView = (ListView) findViewById(R.id.listView);
//设定一个Array适配器,将数组数据放入适配器中
ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.易做图_list_item_1, item);
//对ListView进行适配
listView.setAdapter(adapter);
//ListView中事件选择的监听
listView.setOnItemClickListener(this);
}
private void updateText(String string)
{
// 将文本信息设置给TextView控件显示出来
text.setText(string);
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3)
{
String str = "这次妖精把" + item[position] + "抓住了!";
updateText(str);
}
}
其实有很多控件都会用到适配器模式,如Spinner,ListView,GridView等,而Android可以设置各种类型的适配器,如:数组适配器,List适配器还有基本适配器, 就好比妖怪要抓唐僧,他得知道师徙几人吧?你抓了我师傅,那些徙弟肯定不答应.呵呵,这些都是题外话了.好了,这一章也结束了.
摘自:kangkangz4的专栏
补充:移动开发 , Android ,