溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ListView的自定義Adapter

發(fā)布時(shí)間:2024-08-16 09:47:29 來源:億速云 閱讀:80 作者:小樊 欄目:移動(dòng)開發(fā)

可以通過繼承BaseAdapter類來自定義ListView的Adapter。以下是一個(gè)簡單的例子:

  1. 創(chuàng)建一個(gè)自定義Adapter類CustomAdapter,繼承自BaseAdapter:
public class CustomAdapter extends BaseAdapter {
    
    private Context mContext;
    private ArrayList<String> mDataList;

    public CustomAdapter(Context context, ArrayList<String> dataList) {
        this.mContext = context;
        this.mDataList = dataList;
    }

    @Override
    public int getCount() {
        return mDataList.size();
    }

    @Override
    public Object getItem(int position) {
        return mDataList.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View view = convertView;
        if (view == null) {
            view = inflater.inflate(R.layout.list_item, null);
        }

        TextView textView = view.findViewById(R.id.text_view);
        textView.setText(mDataList.get(position));

        return view;
    }
}
  1. 在res/layout文件夾下創(chuàng)建一個(gè)list_item.xml布局文件,用于顯示ListView中的每一項(xiàng):
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/text_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="16sp"
    android:padding="8dp"
    android:gravity="center_vertical"/>
  1. 在Activity中使用自定義Adapter:
public class MainActivity extends AppCompatActivity {

    private ListView mListView;
    private ArrayList<String> mDataList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mListView = findViewById(R.id.list_view);
        mDataList = new ArrayList<>();
        mDataList.add("Item 1");
        mDataList.add("Item 2");
        mDataList.add("Item 3");

        CustomAdapter adapter = new CustomAdapter(this, mDataList);
        mListView.setAdapter(adapter);
    }
}

通過以上步驟,我們就完成了一個(gè)簡單的自定義Adapter來顯示ListView中的數(shù)據(jù)。可以根據(jù)實(shí)際需求進(jìn)行更復(fù)雜的定制化操作。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI