Java ListView文本太长
如果我添加了一个名称中包含10个以上字符的项目,它的显示太短,导致下一列不可读 这是我的.java文件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
公共类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布局这很有帮助,但省略没有显示“…”在文本的结尾…它只是像“小鸡”而不是“小鸡…”