溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android之ListView和ArrayAdapter的組合使用

發(fā)布時間:2020-10-02 15:39:01 來源:網(wǎng)絡(luò) 閱讀:930 作者:墨宇hz 欄目:移動開發(fā)

    ListViewandroid中的列表顯示。主要是用于數(shù)據(jù)的顯示,通常是從網(wǎng)絡(luò)上解析出來的數(shù)據(jù),顯示到ListView上??梢燥@示很多行,每一行習(xí)慣上稱之為item。而要控制ListView總共要顯示多少個item,以及每個item的布局,則需要使用到適配器------- adapter。

首先使用ArrayAdapter適配器。而ListViewArrayAdapter將在以下的代碼中詳細講解。更多詳細的信息,請參考Android官方文檔。

MainActivity中的內(nèi)容如下所示:

package com.zzh.day_listview;

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends Activity
{
	ListView lv;

	ArrayList<String> list = new ArrayList<String>();

	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		lv = (ListView) findViewById(R.id.listView1); // 找到lv的對象
		// 初始化list集合。
		for (int i = 0; i < 20; i++)
		{
			list.add("item --  " + i);
		}
		// 設(shè)置ListView的適配器。
		/*
		 * ArrayAdapter構(gòu)造方法中的參數(shù): 
		 * 參數(shù)一:當前上下文路徑,即要在哪個Activity中顯示。
		 * 參數(shù)二:布局文件的ID。這里使用的是系統(tǒng)提供的
		 * 。這個布局文件與一般的布局文件不同,ArrayAdapter中,只接收有一個TextView的布局文件
		 * ,如R.layout.list_item。 
		 * 參數(shù)三:要顯示的數(shù)據(jù)集合。在重載的構(gòu)造方法中:第三個參數(shù)還可以是一個數(shù)組。
		 */
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
				android.R.layout.simple_list_item_1, list);

		lv.setAdapter(adapter);// 將適配器注冊給ListView

		// 給ListView增加長按監(jiān)聽事件.增加點擊事件是lv.setOnClickListener();
		
		lv.setOnItemLongClickListener(new OnItemLongClickListener()
		{
			/**
			 * 參數(shù)一:當前點擊的item所在的父控件 
			 * 參數(shù)二:當前所點擊的那個item對象 
			 * 參數(shù)三:所點擊的位置。
			 * */
			@Override
			public boolean onItemLongClick(AdapterView<?> parent, View view,
					int position, long id)
			{
				Toast.makeText(MainActivity.this, "當前點擊了第" + position+"項",Toast.LENGTH_LONG).show();
				return false;
			}
		});
	}
}

activity_main.xml中

<RelativeLayout 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" >

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" >
    </ListView>

</RelativeLayout>

list_item.xml中(不是必須的文件布局):

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

效果如下圖:

Android之ListView和ArrayAdapter的組合使用

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI