使用列表方式來呈現資料如下圖所示。
首先在 Layout.xml 中放入 ListView 元件。
<?xml version="1.0" encoding="utf-8"?>
<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"
tools:context="com.demo.listviewdemo.ListAdapterListView">
<ListView
android:id="@+id/listAdapterListView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
我們先建立一個 String[]。
String[] languageList = {"Android", "Java", "Swift", "C", "C++", "C#", "Python", "Delphi",
"go", "JavaScript","R","PHP", "Ruby", "Matlab", ":perl"};
也可以把 String[] 放在 Android 提供的 strings.xml resource 中。
<string-array name="list">
<item>Android</item>
<item>Java</item>
<item>Swift</item>
<item>C</item>
<item>C++</item>
<item>C#</item>
<item>Python</item>
<item>Delphi</item>
<item>go</item>
<item>JavaScript</item>
<item>R</item>
<item>PHP</item>
<item>Ruby</item>
<item>Matlab</item>
<item>perl</item>
</string-array>
然後使用此方法取得 String[] 。
String[] list =getResources().getStringArray(R.array.list);
ListAdapter 用法如下。
要傳入三個參數分別為 Context、resource、 object 。
Context 傳入 this 代表當下的畫面。
resource 傳入 android.R.layout.simple_list.item_1 Android 所提供的 layout.xml。
object 傳入要呈現的 String[] 。
ListView listView = (ListView) findViewById(R.id.listAdapterListView);
ListAdapter listAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1,
languageList);
listView.setAdapter(listAdapter);
這樣就完成最簡單的 ListView 效果就會如下。
再來寫個 Click 事件點擊 item 的時候顯示出資訊。
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView parent, View view, int position, long id) {
String language;
TextView textView = (TextView) view.findViewById(android.R.id.text1);
language =textView.getText().toString();
Toast.makeText(ListAdapterListView.this, "position=" + position + " Language:" + language, Toast
.LENGTH_SHORT)
.show();
}
});
因為我們在建立 Adapter 的時候是使用 Android 提供的 layout 當作 item 的 View。
android.R.layout.simple_list_item_1 中的 TextView id 為 text1。
然後點擊 Item 得時候就會 Toast 出資訊。
程式碼下載: GitHub
相關連結:
0 意見:
張貼留言