Android练习-----列表视图(ListView)(通过继承ListActivity实现列表视图)

来源:互联网 发布:sap软件是什么 编辑:程序博客网 时间:2024/05/01 19:10

在Eclipse中新建一个Android项目,名称为TestListView1,通过继承ListActivity实现列表视图

这种方法不需要配置布局文件


令MainActivity继承ListActivity,然后为列表视图添加适配器,并使用setListAdapter() 方法将其添加到列表中。为了单击 ListView 各个列表项时获取到选择项的值,需要重写父类的 OnListItemClick() 方法,代码如下

import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.ArrayAdapter;import android.widget.ListView;import android.app.Activity;import android.app.ListActivity;public class MainActivity extends ListActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        String type[] = new String[] {"水果","蔬菜","衣服","电器","篮球","足球"};        ArrayAdapter<String>adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_single_choice, type);        setListAdapter(adapter);    }    @Override    protected void onListItemClick(ListView l, View v, int position, long id) {        super.onListItemClick(l, v, position, id);        Log.i("您选择的是:", l.getItemAtPosition(position).toString());    }}

上述代码中,为列表视图添加了 setOnListItemClickListener事件监听器,当点击选择列表框中的某一项时会触发监听,通过使用 getItemAtPosition(int position) 方法获取到选择项的值,并输出到Log控制台


注意:
在令MainActivity继承于ListActivity之后,一定要在onCreate()方法中删掉 这句话setContentView(R.layout.activity_main); 这句话意思就是加载布局,但是这种方法并没有配置布局文件,所以加载布局会出错,整个工程也运行不起来

0 0