List View优化

唐兴发
2023-12-01

1、先在布局文件中创建ListView控件

<ListView

        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

2、在Java主方法里获取控件

public class MainActivity extends AppCompatActivity {
    ListView listView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView=findViewById(R.id.list_View);
        }
       }

3、新建一个java类MyAdapter继承自BaseAdapter,并重写方法

private class MyAdapter extends BaseAdapter{
        @Override
        public int getCount() {
            return 1000000000;
        }

        @Override
        public Object getItem(int position) {
            return null;
        }

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

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            TextView tv = new TextView(getApplicationContext());
            tv.setText("YOUNGFORYOU");
            Log.d("SecondTest","创建一个新的TextView对象"+position);
            return tv;
        }

        @Override
        public CharSequence[] getAutofillOptions() {
            return new CharSequence[0];
        }
    }

4、运行程序下滑列表观察日志如下:

D/SecondTest: 创建一个新的TextView对象3911
D/SecondTest: 创建一个新的TextView对象3910
D/SecondTest: 创建一个新的TextView对象3909
D/SecondTest: 创建一个新的TextView对象3908
D/SecondTest: 创建一个新的TextView对象3907
D/SecondTest: 创建一个新的TextView对象3906
D/SecondTest: 创建一个新的TextView对象3905
D/SecondTest: 创建一个新的TextView对象3904
D/SecondTest: 创建一个新的TextView对象3903
D/SecondTest: 创建一个新的TextView对象3902
D/SecondTest: 创建一个新的TextView对象3901

 类似资料: