91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

android listview控件的用法有哪些

小億
116
2023-07-26 10:58:34
欄目: 編程語言

Android中的ListView控件常用于顯示可滾動的列表數據。以下是ListView控件的常見用法:

1. 使用基本的ArrayAdapter:將數據源與布局資源文件綁定,通過設置適配器將數據顯示在列表中。

java

String[] data = {"Item 1", "Item 2", "Item 3"};

ArrayAdapter<String> adapter = new ArrayAdapter<>(context, android.R.layout.simple_list_item_1, data);

ListView listView = findViewById(R.id.listView);

listView.setAdapter(adapter);

2. 自定義適配器:創建一個繼承自BaseAdapter的自定義適配器類,重寫相應方法,實現自定義的列表項布局和數據綁定。

java

public class CustomAdapter extends BaseAdapter {

    private List<String> data;

    private LayoutInflater inflater;

    public CustomAdapter(Context context, List<String> data) {

        this.data = data;

        inflater = LayoutInflater.from(context);

    }

    @Override

    public int getCount() {

        return data.size();

    }

    @Override

    public Object getItem(int position) {

        return data.get(position);

    }

    @Override

    public long getItemId(int position) {

        return position;

    }

    @Override

    public View getView(int position, View convertView, ViewGroup parent) {

        if (convertView == null) {

            convertView = inflater.inflate(R.layout.list_item_layout, parent, false);

        }

        TextView textView = convertView.findViewById(R.id.textView);

        textView.setText(data.get(position));

        return convertView;

    }

}

// 使用自定義適配器

List<String> data = Arrays.asList("Item 1", "Item 2", "Item 3");

CustomAdapter adapter = new CustomAdapter(context, data);

ListView listView = findViewById(R.id.listView);

listView.setAdapter(adapter);

3. 使用ViewHolder優化性能:在自定義適配器的getView()方法中使用ViewHolder模式,減少findViewById()的調用。

java

@Override

public View getView(int position, View convertView, ViewGroup parent) {

    ViewHolder viewHolder;

    if (convertView == null) {

        convertView = inflater.inflate(R.layout.list_item_layout, parent, false);

        viewHolder = new ViewHolder();

        viewHolder.textView = convertView.findViewById(R.id.textView);

        convertView.setTag(viewHolder);

    } else {

        viewHolder = (ViewHolder) convertView.getTag();

    }

    viewHolder.textView.setText(data.get(position));

    return convertView;

}

static class ViewHolder {

    TextView textView;

}

4. 使用RecyclerView替代ListView:RecyclerView是Android提供的更強大和靈活的列表控件,具有更好的性能和可擴

展性。

這些是ListView控件的常見用法,你可以根據具體需求選擇合適的用法。

0
望江县| 红河县| 富平县| 陆丰市| 溧阳市| 和静县| 平和县| 黄大仙区| 弋阳县| 尼勒克县| 宿迁市| 汨罗市| 陇西县| 安徽省| 蓝山县| 开江县| 泾源县| 苏尼特左旗| 襄樊市| 孝昌县| 山东省| 长海县| 上高县| 长乐市| 二连浩特市| 桦川县| 太原市| 满城县| 锦屏县| 江西省| 扎兰屯市| 斗六市| 白玉县| 穆棱市| 台中县| 潢川县| 张北县| 石渠县| 贡山| 东港市| 资溪县|