Adapter
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import androidx.annotation.NonNull;
import com.example.memo.R;
import java.util.List;
public class ContAdapter extends ArrayAdapter<Cont> {
private int resourceId;
public ContAdapter(Context context, int resource, List<Cont> objects) {
super(context, resource, objects);
resourceId = resource;
}
@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Cont cont =getItem(position);
ViewHolder viewHolder;
if (convertView==null){
viewHolder = new ViewHolder();
convertView = LayoutInflater.from(getContext()).inflate(resourceId,parent,false);
viewHolder.day = convertView.findViewById(R.id.day);
viewHolder.time = convertView.findViewById(R.id.time);
viewHolder.content = convertView.findViewById(R.id.content2);
//将viewHolder缓存convertView
convertView.setTag(viewHolder);
}
else
viewHolder = (ViewHolder) convertView.getTag();
viewHolder.day.setText("日期:"+cont.getDay());
viewHolder.time.setText("时间:"+cont.getTime());
viewHolder.content.setText("内容:"+cont.getContent());
return convertView;
}
class ViewHolder{
TextView day;
TextView time;
TextView content;
}
}
java
List<Cont> a = new ArrayList<>();
Conts();
final ListView listView = (ListView) findViewById(R.id.cont);
final ContAdapter adapter = new ContAdapter(this, R.layout.item, a);
listView.setAdapter(adapter);
private void Conts() {
SQLiteDatabase db = dbHelper.getWritableDatabase();
Cursor cursor = db.query("bbb", null, null, null, null, null, null);
String [] floor = new String[10];
int i=0;int q;
if (cursor.moveToFirst()) {
do {
a.add(new Cont(cursor.getString(cursor.getColumnIndex("day"))
,cursor.getString(cursor.getColumnIndex("time"))
,cursor.getString(cursor.getColumnIndex("content"))
,cursor.getInt(cursor.getColumnIndex("idd"))));
} while (cursor.moveToNext());
}
item.xml
<?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="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:orientation="vertical"
>
<TextView
android:id="@+id/day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:textSize="24dp"
android:layout_marginTop="3dp"
android:text="id"
android:textColor="@android:color/holo_green_light"/>
<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="name"
android:textColor="@android:color/holo_green_light"
android:textSize="24dp" />
<TextView
android:id="@+id/content2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="name"
android:textSize="24dp" />
</LinearLayout>
</LinearLayout>
listview
<ListView
android:id="@+id/cont"
android:layout_width="411dp"
android:layout_height="0dp"
android:layout_marginBottom="1dp"
android:layout_weight="1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/add"
tools:ignore="MissingConstraints"></ListView>