Java ListView文本太长

Java ListView文本太长,java,android,listview,Java,Android,Listview,如果我添加了一个名称中包含10个以上字符的项目,它的显示太短,导致下一列不可读 这是我的.java文件 公共类listview扩展活动{ @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.listview); SQLiteDatabase db=openOrCreateDatabase(“Orders.db”,SQLiteDatabase

如果我添加了一个名称中包含10个以上字符的项目,它的显示太短,导致下一列不可读

这是我的.java文件

公共类listview扩展活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.listview);
SQLiteDatabase db=openOrCreateDatabase(“Orders.db”,SQLiteDatabase.CREATE\u如果需要,则为null);
游标crs=db.rawQuery(“从OrderedList中选择*”,null);
ListView a=(ListView)findViewById(R.id.ListView);
String[]column1=新字符串[crs.getCount()];
double[]column2=新的double[crs.getCount()];
int[]column3=新的int[crs.getCount()];
double[]v2=新的double[crs.getCount()];
int i=0;
双和=0.0;
int list_height=0;
while(crs.moveToNext()){
String item_name=crs.getString(crs.getColumnIndex(“食品”));
双项目价格=crs.getDouble(crs.getColumnIndex(“价格”));
int temp_item_quantity=crs.getInt(crs.getColumnIndex(“数量”);
第1列[i]=项目名称;
第2[i]栏=项目价格;
第3列[i]=临时项目数量;
v2[i]=第2[i]列*第3[i]列;
总和+=v2[i];
i++;
}
crs.close();
ListView_适配器=新的ListView_适配器(此,第1列,第2列,第3列);
a、 设置适配器(适配器);
}
@凌驾
public void onBackPressed(){
super.onBackPressed();
完成();
}

}
您可以使用以下参数来控制文本视图字符和行限制

android:maxLines="2" // max number of lines text view can occupy
android:maxLength="50" // number of characters you want to show
android:ellipsize="end" // to show ... at the end
我为您的布局选择的解决方案是。 水平线性布局中的3个文本视图。 最后两个固定宽度的文本视图。 布局权重为1到第一个文本视图,根据需要设置上述参数。

如何克服此问题 请创建自定义适配器类(如数组适配器、基本适配器),并在自定义布局XML中设置数据

现在在父活动类中调用此适配器类

在此布局中,您将设置
文本视图宽度包装和android:ellipsize=“end”
android:singleLine=“true”
。我希望它能帮助你

android:singleLine=“true”将文本水平约束为单个文本 滚动行,而不是让它缠绕到多行上,以及 按enter键时,前进焦点,而不是插入换行符 钥匙

您可以查看此演示以获取示例


自定义listview xml中为每个
textview
发布列表项xml使用
weight
layout\u weight
分配给所有3个文本视图..并将
weight\u sum
分配给家长..查看我的xml代码…发布
listview
项xml布局这很有帮助,但省略没有显示“…”在文本的结尾…它只是像“小鸡”而不是“小鸡…”