1. 程式人生 > >Android中的ListView用法(自動滾動)

Android中的ListView用法(自動滾動)

Listview用法:

Java程式碼

package com.tmnw;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
    /*----ListView MVC實現----*/
    // model
    List<String> data;
    // view
    ListView lv;
    // controller
    ArrayAdapter<String> adapter;
    int size = 1;
    // 初始化元件
    private void initWidget() {
        lv = (ListView) findViewById(R.id.list);
    }
    // 初始化繫結資料
    private void initData() {
        if (lv == null)
            return;
        // 第一步:獲取資料來源(model)
        data = new ArrayList<String>();
        appendData();
        // 第二步:new一個介面卡(controller)
        // 引數1:Context
        // 引數2:listview的item佈局
        // 引數3:資料填充在item佈局下的那個控制元件id
        // 引數4:填充的資料
        adapter = new ArrayAdapter<String>(this, R.layout.simple_text,
                R.id.text1, data);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
        // 第三步:給listview設定介面卡(view)
        lv.setAdapter(adapter);
    }
    // 新增資料
    private void appendData() {
        if (data == null)
            return;
        for (int i = 0; i < 10; i++) {
            data.add("" + size++);
        }
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initWidget();
        initData();
    }
}


XML程式碼

activity_main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1" >
    </ListView>
</LinearLayout>

simple_text.xml:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:textIsSelectable="false" />

讓listview自動滾動方法:

<ListView android:id="listCWJ"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stackFromBottom="true"
android:transcriptMode="alwaysScroll"
/>