Android裡Listview簡單的應用
阿新 • • 發佈:2018-12-05
建立一個xml檢視程式碼
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.yangs.listviewdemo.MainActivity"> <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginBottom="8dp" android:layout_marginLeft="8dp" android:layout_marginRight="8dp" android:layout_marginTop="8dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent"/> </android.support.constraint.ConstraintLayout>
根據id查詢檢視,並設定簡單的介面卡(用來回收資源,否則會明顯示卡頓)
package com.yangs.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 lv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.lv); /*** * 設定一個介面卡 */ lv.setAdapter(new MyAdapter()); } /*** * 基礎介面卡的實現 * */ private class MyAdapter extends BaseAdapter { @Override /** * 獲取列表裡一共有多少條記錄 * @return 返回記錄的總數量 */ public int getCount() { return 10000; } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } /** * 返回一個制定的view * @param position 顯示view的位置 * @param convertView * @param parent * @return 返回的view */ @Override public View getView(int position, View convertView, ViewGroup parent) { TextView tv; if (convertView != null) { tv = (TextView) convertView; System.out.println("使用回收的view"); } else { tv = new TextView(MainActivity.this); System.out.println("使用新的view"); } tv.setText("我是文字textview"+position); tv.setTextColor(Color.RED); tv.setTextSize(20); return tv; } } }