• Head Fisrt Android Development读书笔记(6)Lists and Adapters


    ListView = ScrollView[ ViewGroup[A View for Each Row] ]


    Adapter 

     an interface whose implementations provide data and the display of that data used by the ListView.


    public class TimeTrackerAdapter extends BaseAdapter {

    ...

    }


    View getView(int index, View view, ViewGroup parent) 

    return the view used to display data in the ListView


    define time_list_item.xml in /res/layout/

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  android:layout_width="fill_parent"
                  android:layout_height="wrap_content"
                  android:orientation="vertical">
        <TextView android:id="@+id/time_view"
                  android:layout_width="fill_parent"
                  android:layout_height="wrap_content"
                  android:textSize="18dp"
                  android:paddingBottom="5dp"
                />
        <TextView android:id="@+id/note_view"
                  android:layout_width="fill_parent"
                  android:layout_height="wrap_content"
                  android:textSize="12dp"
                />
    </LinearLayout>




    Steps to complete getView

    1.Instantiate the View

    null input view--> initialize

    not null --> repopulating

    2.Retrieve the data

    3.Set values on the view

    R.layout.time_list_item

        public View getView(int i, View view, ViewGroup viewGroup) {
            if (view == null) {
                LayoutInflater inflater = LayoutInflater.from(viewGroup.getContext());
                view = inflater.inflate(R.layout.time_list_item, viewGroup, false);
            }
    
    
            TimeRecord timeRecord = records.get(i);
            TextView timeTextView = (TextView) view.findViewById(R.id.time_view);
            timeTextView.setText(timeRecord.getTime());
            TextView noteTextView = (TextView) view.findViewById(R.id.note_view);
            noteTextView.setText(timeRecord.getNote());
    
    
            return view;
        }


    connect listview with adapter

        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    
            ListView listView = (ListView) findViewById(R.id.times_list);
            TimeTrackerAdapter timeTrackerAdapter = new TimeTrackerAdapter();
            listView.setAdapter(timeTrackerAdapter);
        }


  • 相关阅读:
    sikuli 安装
    pychar入门参考教材
    Jmeter 问题集
    appium 中文API 集
    执行Chrome自动化时--正在受到自动软件的控制的显示屏蔽
    下拉框选择
    发邮件 文字+ 附件的方法(QQ or 网易 邮箱)
    发送邮件(单独文字)的方法(网易邮箱 OR QQ邮箱)
    aapium 设置安卓机参数
    -循环点击遇到的坑(每次点击后返回,页面元素都会变化的解决方法)
  • 原文地址:https://www.cnblogs.com/java20130722/p/3206867.html
Copyright © 2020-2023  润新知