您好,登錄后才能下訂單哦!
ListView在android中的列表顯示。主要是用于數據的顯示,通常是從網絡上解析出來的數據,顯示到ListView上。可以顯示很多行,每一行習慣上稱之為item。而要控制ListView總共要顯示多少個item,以及每個item的布局,則需要使用到適配器------- adapter。
首先使用ArrayAdapter適配器。而ListView和ArrayAdapter將在以下的代碼中詳細講解。更多詳細的信息,請參考Android官方文檔。
MainActivity中的內容如下所示:
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); } // 設置ListView的適配器。 /* * ArrayAdapter構造方法中的參數: * 參數一:當前上下文路徑,即要在哪個Activity中顯示。 * 參數二:布局文件的ID。這里使用的是系統提供的 * 。這個布局文件與一般的布局文件不同,ArrayAdapter中,只接收有一個TextView的布局文件 * ,如R.layout.list_item。 * 參數三:要顯示的數據集合。在重載的構造方法中:第三個參數還可以是一個數組。 */ ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list); lv.setAdapter(adapter);// 將適配器注冊給ListView // 給ListView增加長按監聽事件.增加點擊事件是lv.setOnClickListener(); lv.setOnItemLongClickListener(new OnItemLongClickListener() { /** * 參數一:當前點擊的item所在的父控件 * 參數二:當前所點擊的那個item對象 * 參數三:所點擊的位置。 * */ @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" />
效果如下圖:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。