<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 帶有`ListAdapter`的 Android `ListView`示例 > 原文: [https://javatutorial.net/android-listview-with-listadapter-example](https://javatutorial.net/android-listview-with-listadapter-example) 在上一個教程中,我們通過一個簡單的示例了解了[列表視圖布局](https://javatutorial.net/android-list-view-example)。 本教程介紹了用于創建自定義列表的列表適配器。 ## Android `ListAdapter` 列表視圖非常簡單,您要自定義列表嗎?`ListAdapter`用于自定義列表視圖的布局。 它的行為就像是數據源和列表視圖之間的橋梁。 它的父類是`BaseAdapter`。 當您要為列表中的各個行指定布局時使用。 不要將其與`ArrayAdapter`混淆,`ListAdapter`是一個接口,而`ArrayAdapter`是可處理數據數組的類。 下圖顯示了使用`ListAdapter`的自定義列表視圖。 ![List Adapter](https://img.kancloud.cn/8c/43/8c4351abbc879c37af439c81e6b985f9_334x555.jpg) 列表適配器 ## `ListAdapter`構造函數 `ListAdapter`的構造方法采用一個參數,該參數指定每一行的布局資源。 除此之外,它還有兩個參數(這兩個參數通常是并行數組),使我們能夠指定將哪個數據字段與行布局資源中的哪個對象相關聯。 ## `ListAadapter`的方法 `ListAdapter`具有以下公共方法。 * `areAllItemsEnabled()`:它通過返回布爾值來告知是否啟用列表適配器中的所有項目。 如果返回`true`,則表示所有項目都是可選擇和可單擊的。 如果返回不同的值(如果值更改),則不能保證它將生效。 * `isEnabled(int position)`:如果可以單擊并選擇位于特定位置的項目,則返回`true`。如果給定的位置無效,則無法指定結果。 ## `ListAdapter`的示例 讓我們開始使用`ListAdapter`進行編碼。[在列表視圖的先前教程中](https://javatutorial.net/android-list-view-example),已經討論了計算機科學語言的簡單示例。 這被顯示為簡單列表。 現在,我們以不同的方式做同樣的事情。 不僅顯示語言列表,還顯示帶有語言圖標。 首先為每行創建一個布局,該布局具有圖像視圖和文本視圖。 這是`list_single.xml`的代碼 ```java <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <TableRow> <ImageView android:id="@+id/img" android:layout_width="100dp" android:layout_height="100dp"/> <TextView android:id="@+id/txt" android:layout_width="wrap_content" android:layout_height="100dp" /> </TableRow> </TableLayout> ``` 創建一個 Java 類并將其命名為`CustomList.java`,這是它的代碼 ```java package com.example.admin.listadapterexample; import android.app.Activity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView; public class CustomList extends ArrayAdapter<String>{ private final Activity context; private final String[] web; private final Integer[] imageId; public CustomList(Activity context, String[] web, Integer[] imageId) { super(context, R.layout.list_single, web); this.context = context; this.web = web; this.imageId = imageId; } @Override public View getView(int position, View view, ViewGroup parent) { LayoutInflater inflater = context.getLayoutInflater(); View rowView= inflater.inflate(R.layout.list_single, null, true); TextView txtTitle = (TextView) rowView.findViewById(R.id.txt); ImageView imageView = (ImageView) rowView.findViewById(R.id.img); txtTitle.setText(web[position]); imageView.setImageResource(imageId[position]); return rowView; } } ``` 現在創建一個主要活動,`mainActivty.java`的代碼是 ```java package com.example.admin.listadapterexample; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import android.widget.Toast; import android.app.Activity; public class MainActivity extends Activity { ListView list; String[] web = { "Java", "C++", "C#", "HTML", "CSS" } ; Integer[] imageId = { R.drawable.java, R.drawable.cplus, R.drawable.csharp, R.drawable.html, R.drawable.download }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); CustomList listAdapter = new CustomList(MainActivity.this, web, imageId); list=(ListView)findViewById(R.id.list); list.setAdapter(listAdapter); list.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(MainActivity.this, "You Clicked at " +web[+ position], Toast.LENGTH_SHORT).show(); } }); } } ``` 這是`activty_main.xml`布局的樣子 ```java <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" tools:context=".MainActivity" > <ListView android:id="@+id/list" android:layout_width="wrap_content" android:layout_height="wrap_content" > </ListView> </RelativeLayout> ``` 運行您的應用程序,這里是輸出 ![list adapter example](https://img.kancloud.cn/62/29/6229214010059ef15fd4270def2a6b1b_367x653.jpg) 列表適配器示例 您可以通過單擊[鏈接](https://github.com/JavaTutorialNetwork/Tutorials/blob/master/ListAdapterExample.rar)下載此代碼。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看