Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2531044
  • 博文数量: 245
  • 博客积分: 4125
  • 博客等级: 上校
  • 技术积分: 3113
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-25 23:56
文章分类

全部博文(245)

文章存档

2015年(2)

2014年(26)

2013年(41)

2012年(40)

2011年(134)

2010年(2)

分类: Android平台

2013-03-27 15:51:22

参考:http://developer.android.com/reference/android/app/ListActivity.html

ListActivity 有一个默认的 Screen Layout(一列,全屏,屏幕居中),如果你想要定制自己的Screen Layout,可以在onCreate()方法中调用 setContentView(). 

·首先看一个,使用ListActivity 默认layout的例子:
只需要定义一个Activity,代码如下:

点击(此处)折叠或打开

  1. package com.example.twiter;

  2. import android.app.ListActivity;
  3. import android.os.Bundle;
  4. import android.widget.ArrayAdapter;

  5. public class FooListActivity extends ListActivity {
  6.      String[] listItems = {"item 1", "item 2 ", "list", "android", "item 3", "foobar", "bar", };
  7.      @Override
  8.      public void onCreate(Bundle savedInstanceState) {
  9.        super.onCreate(savedInstanceState);
  10.        setListAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, listItems));
  11.      }
  12. }
上面代码中ArrayAdapter的第二个构造参数用于指定List的每一行的layout(Row Layout),"android.R.layout.simple_list_item_1"是android自带的一种Row Layout。下文中我们会用到自定义Row Layout。

本例运行效果:




·第二个例子:使用自定义的Row Layout


list_fruit.xml Row Layout模板

点击(此处)折叠或打开

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <TextView xmlns:android=""
  3.     android:layout_width="fill_parent"
  4.     android:layout_height="fill_parent"
  5.     android:padding="10dp"
  6.     android:textSize="20sp" >
  7. </TextView>

ListFruitActivity.java

点击(此处)折叠或打开

  1. package com.example.twiter;

  2. import android.app.ListActivity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.widget.AdapterView;
  6. import android.widget.AdapterView.OnItemClickListener;
  7. import android.widget.ArrayAdapter;
  8. import android.widget.ListView;
  9. import android.widget.TextView;
  10. import android.widget.Toast;

  11. public class ListFruitActivity extends ListActivity {

  12.     static final String[] FRUITS = new String[]{
  13.         "Apple","Pear","Mango","Blueberry","Coconut",
  14.         "Guava","Olive","Sugar-apple"
  15.     };
  16.     
  17.     public void onCreate(Bundle savedInstanceState){
  18.         super.onCreate(savedInstanceState);
  19.         
  20.         ArrayAdapter adapter = new ArrayAdapter<String>(
  21.                 this,//Context
  22.                 R.layout.list_fruit,//指定 row template ,这里需要是一个textViewResourceId,所以list_fruit.xml中只能定义一个TextView
  23.                 FRUITS//array of which template objects to bind
  24.                 );
  25.         setListAdapter(adapter);
  26.         
  27.         ListView listView = getListView();
  28.         listView.setTextFilterEnabled(true);
  29.         
  30.         listView.setOnItemClickListener(new OnItemClickListener() {

  31.             @Override
  32.             public void onItemClick(AdapterView<?> parent, View view, int position,
  33.                     long id) {
  34.                 Toast.makeText(getApplicationContext(), ((TextView)view).getText(), Toast.LENGTH_SHORT).show();
  35.             }
  36.         });
  37.         
  38.     }
  39. }

AndroidManifest.xml

点击(此处)折叠或打开

  1. <activity android:name="com.example.twiter.ListFruitActivity">
  2.                <intent-filter>
  3.                 <action android:name="android.intent.action.MAIN" />
  4.                 <category android:name="android.intent.category.LAUNCHER" />
  5.             </intent-filter>
  6.          </activity>

效果图:




阅读(1788) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~