文章目錄
- 1、listview介紹
- 2、listview使用
-
- 2.1、xml設計
- 2.2、Java設計
- 3、實作效果
1、listview介紹
Android的listView控件非常靈和,可以自定義每一個清單項,實際上每個清單項就是一個View。
一般來說,手機的螢幕有限,顯示的内容卻要求無限,這就必須借助listview。
ListView允許使用者通過上下滑動來将螢幕外的資料滾動到螢幕内,同時螢幕内原有的資料滾動出螢幕,進而顯示更多的資料内容。
…(具體的介紹,請找相關資料)
2、listview使用
2.1、xml設計
簡單設計了一個listview界面,xml檔案:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Main4Activity">
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="55dp"
android:text="清單測試1:文字測試!"
android:textSize="20dp"/>
<ListView
android:id="@+id/lv_41"
android:layout_width="match_parent"
android:layout_height="489dp"
android:layout_marginTop="8dp"
android:dividerHeight="0.5dip"
app:layout_constraintTop_toBottomOf="@+id/textView2">
</ListView>
</android.support.constraint.ConstraintLayout>
界面:
在建立一個test.xml,就是我們想要實作的Item效果:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:orientation="vertical"
>
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1.線路及區間名稱:" />
<EditText
android:id="@+id/et_test"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</RelativeLayout>
界面:
2.2、Java設計
關鍵部分的代碼:
lv_41=(ListView)findViewById(R.id.lv_41);
List<Map<String,Object>>stuMaps=new ArrayList<Map<String, Object>>();
String[] names={"1.線路及區間名稱:","2.橋位樁号:","3.橋梁名稱:","4.下穿通道名:","5.橋長:","6.主跨結構:","7.最大跨徑:","8.建成年月:","9.上次檢查日期:","10.本次檢查日期:","11.氣候:"};
for(int i=0;i<names.length;i++){
Map<String,Object> m=new HashMap<String, Object>();
m.put("name",names[i]);
stuMaps.add(m);
}
String[] key={"name","major"};
int[] value={R.id.tv_name,R.id.et_test};
SimpleAdapter simpleAdapter=new SimpleAdapter(this,stuMaps,R.layout.test,key,value);
lv_41.setAdapter(simpleAdapter);