多语言展示
当前在线:1425今日阅读:26今日分享:39

Android开发学习:[1]列表视图(ListView)

列表视图是android中最常用的一种视图组件,它以垂直列表的形式列出需要显示的列表项。在android中有两种方法向屏幕中添加列表视图:一种是直接使用ListView组件创建;另外一种是让Activity继承ListActivity实现。下面分别介绍这两种方法:
工具/原料

Eclipse

方法/步骤
1

一、直接使用ListView组件创建在布局文件中首先添加ListView代码如下:       

2

这里使用了名称为ctype的数组资源,因此我们要在res/values目录中创建一个定义的数组资源的xml文件arrays.xml代码如下:                    情景模式        主题模式        手机        程序管理        通话设置        连接功能              

3

下面通过适配器来指定列表项来创建ListView布局代码:           

4

Java代码:package com.basillee.blogdemo; import java.lang.annotation.Retention;import java.util.List; import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.Toast; public class MainActivity extends Activity {     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        ListView listView=(ListView)findViewById(R.id.listView1);        ArrayAdapteradapter=ArrayAdapter.createFromResource(this,R.array.cytpe,android.R.layout.simple_list_item_single_choice);        listView.setAdapter(adapter);        listView.setOnItemClickListener(new OnItemClickListener() {             @Override            public void onItemClick(AdapterView parent, View arg1, int pos,                    long id) {                String result=parent.getItemAtPosition(pos).toString();                Toast.makeText(getApplicationContext(), result, Toast.LENGTH_LONG).show();            }        });    }  }

5

二、让Activity继承ListActivity实现:如果程序的窗口仅仅需要显示一个列表,则可以直接让Activity继承ListActivity来实现。继承ListActivity的类中无需调用setContentView方法来显示页面,而是可以直接为其设置适配器,从而显示一个列表。废话少说直接看看代码大家就都懂了:package com.basillee.blogdemo; import java.lang.annotation.Retention;import java.util.List; import android.os.Bundle;import android.app.Activity;import android.app.ListActivity;import android.view.Menu;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.Toast; public class MainActivity  extends ListActivity{     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        String []cytpeStrings=new String[]{'情景模式','主题模式','手机','程序管理'};        ArrayAdapteradapter=new ArrayAdapter(this, android.R.layout.simple_list_item_single_choice,cytpeStrings);        setListAdapter(adapter);    }     @Override    protected void onListItemClick(ListView l, View v, int position, long id) {        // TODO Auto-generated method stub        super.onListItemClick(l, v, position, id);        String resultString=l.getItemAtPosition(position).toString();        Toast.makeText(getApplicationContext(), resultString, Toast.LENGTH_LONG).show();    }          }

6

大家可以在在自己的虚拟机上面运行试试。

推荐信息