Java 显示的列表视图不正确
我必须将对象从SQLite db显示到listView。我试过了,但是我找不到为什么我看不到第一个物体的一半,最后一个物体的一半的问题。有什么问题吗? 屏幕: 适配器的类别:Java 显示的列表视图不正确,java,android,Java,Android,我必须将对象从SQLite db显示到listView。我试过了,但是我找不到为什么我看不到第一个物体的一半,最后一个物体的一半的问题。有什么问题吗? 屏幕: 适配器的类别: public class ReminderListAdapter extends ArrayAdapter<Reminder> { private Context mContext; private int mResource; OnItemClickListener listener; public Re
public class ReminderListAdapter extends ArrayAdapter<Reminder> {
private Context mContext;
private int mResource;
OnItemClickListener listener;
public ReminderListAdapter(@NonNull Context context, int resource, @NonNull ArrayList<Reminder> objects) {
super(context, resource, objects);
mContext = context;
mResource = resource;
}
public void setListener(OnItemClickListener listener) {
this.listener = listener;
}
@NonNull
@Override
public View getView(final int position, @Nullable View convertView, @NonNull ViewGroup parent) {
final int id = getItem(position).getId();
final String name = getItem(position).getName();
String hour = getItem(position).getHour();
String date = getItem(position).getDate();
LayoutInflater inflater = LayoutInflater.from(mContext);
convertView = inflater.inflate(mResource, parent, false);
Button delbtn = (Button) convertView.findViewById(R.id.button4);
//Button editbtn = (Button) convertView.findViewById(R.id.button5);
final TextView resId = convertView.findViewById(R.id.textId);
final TextView resName = convertView.findViewById(R.id.textName);
final TextView resHour = convertView.findViewById(R.id.textHour);
final TextView resDate = convertView.findViewById(R.id.textDate);
resId.setText(String.valueOf(id));
resName.setText(name);
resHour.setText(hour);
resDate.setText(date);
delbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listener.OnItemClick(v, position, id);
}
});
return convertView;
}}
公共类提醒器ListAdapter扩展了ArrayAdapter{
私有上下文;
私人国际资源;
听者,听者;
公共提醒ListAdapter(@NonNull上下文上下文,int资源,@NonNull ArrayList对象){
超级(上下文、资源、对象);
mContext=上下文;
mResource=资源;
}
公共void setListener(OnItemClickListener侦听器){
this.listener=listener;
}
@非空
@凌驾
公共视图getView(最终整数位置,@Nullable View convertView,@NonNull ViewGroup父级){
final int id=getItem(position).getId();
最终字符串名=getItem(position).getName();
字符串hour=getItem(position).getHour();
字符串日期=getItem(position).getDate();
LayoutFlater充气机=LayoutFlater.from(mContext);
convertView=充气机。充气(mResource,父项,false);
按钮delbtn=(按钮)convertView.findViewById(R.id.buttonn4);
//按钮editbtn=(按钮)convertView.findViewById(R.id.button5);
final TextView resId=convertView.findViewById(R.id.textId);
final TextView resName=convertView.findViewById(R.id.textName);
final TextView resHour=convertView.findViewById(R.id.textHour);
final TextView resDate=convertView.findViewById(R.id.textDate);
resId.setText(String.valueOf(id));
resName.setText(名称);
resHour.setText(小时);
resDate.setText(日期);
delbtn.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
listener.OnItemClick(v,位置,id);
}
});
返回视图;
}}
XML:
我检查了这个xml文件很多次,但是我找不到我的错误。我将listView的底部约束在我的底部导航栏上,将顶部约束在parrent的顶部,但它不起作用我认为您应该从listView中删除这一行,这样您的问题就可以解决了 去掉这个
app:layout_constraintBottom_toTopOf="@id/bottom_navigation"
及
添加此代码,您的问题就完全解决了
android:paddingBottom="200dp"
android:paddingBottom="200dp"