ListView(列表)主要是用來把數據用列表方式顯示出來,當顯示數據符合用家要求時,便會選擇或點擊數據列表資料,點擊後程式可以作出回饋反應,例如跳出訊息、切換 Activity … 等等,可以根據個別需求而作不同回饋的設計。
Android Studio 點擊 ListView 事件程式 |
開發環境:Android Studio 4.0.1 版本
原程式:C:\Development\Development_Android\Android_Project\DIY-Android-007-10 ListView OnClick
程式:C:\Development\Development_Android\Android_Project\DIY-Android-007-10 ListView OnClick
ArrayAdapter 是最基本的方法,ArrayAdapter 原理是宣告一個陣列,然後將資料放進去,接著 ListView 就會依照順序顯示出來,然後設定點擊監聽 (OnItemClickListener),當鼠標點擊後,便可以顯示點擊資料的位置和數據,並顯示資料位置和內容。
ListView OnClick 編程步驟:
- 將 ListView(Mainactivity.java)實體化
- 在 Layout 配置檔(activity_main.xml)裡面放一個 ListView。
- 於要放置列表的事件中執行 setAdapter(Mainactivity.java)。
- 然後設定點擊監聽(OnItemClickListener)
- 點擊後的回饋工作
import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.AdapterView; import android.widget.ListView; import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
//ListView 要顯示的內容 String[] mLvData = {"Resistor", "Capacitor", "Inductor", "Diode", "Transistor", "Integrated Circuit", "Sensor", "Fuse", "Connector", "PCB", "Crystal", "LED", "LCD", "Battery"};
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
ListView listview = (ListView) findViewById(R.id.lv_Data); //android.R.layout.simple_list_item_1 在 android 內部資源檔提供的選單樣式 ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, mLvData); //ListView 要顯示的內容 listview.setAdapter(adapter);
listview.setOnItemClickListener(onClickListView); //指定事件 Method }
//點擊 ListView 事件 Method - 創建監聽器作item的觸發 private AdapterView.OnItemClickListener onClickListView = new AdapterView.OnItemClickListener(){ @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //使用Toast顯示點選選項的名稱 Toast.makeText(MainActivity.this,"點選第 "+(position +1) +" 個 \n內容:"+ mLvData[position], Toast.LENGTH_SHORT).show(); } }; } |
activity_main.xml:
<?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" android:orientation="vertical" tools:context=".MainActivity">
<ListView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentBottom="true" android:id="@+id/lv_Data" />
</LinearLayout> |
Android Studio 點擊ListView事件程式 |
沒有留言:
張貼留言