【发布时间】:2016-08-11 15:18:23
【问题描述】:
我正在尝试获取一个简单的自定义列表视图,但当元素相互粘连时我感到震惊,这看起来比以往更糟糕。我创建了 program_list.xml 文件,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="fill_horizontal|center_horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="1"
android:id="@+id/TVIDC"
android:layout_weight="1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Name"
android:id="@+id/TVNameC"
android:layout_weight="1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Date"
android:id="@+id/TVDateC"
android:layout_weight="1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="0.00"
android:id="@+id/TVAmountC"
android:layout_weight="1" />
</LinearLayout>
这是自定义列表文件:
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
public class CustomList extends ArrayAdapter<String> {
private final Activity context;
private final Integer[] id;
private final String[] name;
private final Integer[] amount;
private final String[] date;
public CustomList(Activity context, Integer[] id, String[] name, Integer[] amount, String[] date) {
super(context, R.layout.program_list, name);
this.context = context;
this.id = id;
this.name = name;
this.amount = amount;
this.date = date;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView = inflater.inflate(R.layout.program_list, null, true);
TextView txtId = (TextView) rowView.findViewById(R.id.TVIDC);
TextView txtName = (TextView) rowView.findViewById(R.id.TVNameC);
TextView txtAmount = (TextView) rowView.findViewById(R.id.TVAmountC);
TextView txtDate = (TextView) rowView.findViewById(R.id.TVDateC);
txtId.setText(id[position]+"");
txtName.setText(name[position]);
txtAmount.setText(amount[position]+"");
txtDate.setText(date[position]);
return rowView;
}
}
快速找到解决方案,我很震惊,想在 Play 商店上传应用程序并参考图片来解决主要问题。提前感谢大家,我必须写一些愚蠢的细节才能删除红色框,不要想太多,因为要发布,我必须删除这个框。这个傻盒子还没有消失。嘿堆栈溢出!它疯了。
这导致了问题:
但我想要这个:
【问题讨论】:
-
将所有文本视图的宽度从 wrapcontent 更改为 match_parent
-
没用!!建议别的.....
-
我没有对您的布局进行任何更改,并使用您的自定义适配器制作了相同的程序,它对我来说很好
-
尝试清理您的项目并重建它
-
没用,我的模拟器有问题吗?我使用 genymotion
标签: android custom-lists