Android核心技術-day03-03-ListView
阿新 • • 發佈:2018-11-07
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>
package com.gaozewen.listviewdemo; import android.graphics.Color; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private ListView mLv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mLv = (ListView) findViewById(R.id.lv); mLv.setAdapter(new MyAdapter()); } private class MyAdapter extends BaseAdapter { // 獲取列表中一共有多少條記錄 @Override public int getCount() { return 1000000; } // 獲取一條 item @Override public Object getItem(int position) { return null; } // 獲取一條 item id @Override public long getItemId(int position) { return 0; } // 返回一個 view 物件,這個 view 物件顯示在指定位置 @Override public View getView(int position, View convertView, ViewGroup viewGroup) { TextView tv; if (convertView == null){ tv = new TextView(MainActivity.this); System.out.println("使用建立的view:" + position); // 一開始建立了 0-16 個 }else { tv = (TextView) convertView; System.out.println("使用回收的view:" + position); } tv.setText("我是文字" + position); tv.setTextColor(Color.BLUE); tv.setTextSize(20); return tv; } } }