我有一个数据库的查询结果,并填充了相应的变量。
我认为问题是布局,我在XML文件中使用了不正确的布局。也许这是ArrayAdapter
,我不知道。我花了很多时间试图解决这个问题并且无法解决。谢谢你的帮助!
这是我的XML:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TableRow>
<TextView android:id="@+id/precio_offers_charger"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:textStyle="bold"
android:textSize="20px"
android:textColor="#FFFFFF"
android:background="#FF0000" />
<TextView android:id="@+id/cabecera_offers_charger"
android:paddingLeft="10px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="18px"
android:textColor="#FFFFFF"
android:background="#010201" />
</TableRow>
<TableRow>
<ImageView android:id="@+id/imagen"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView android:id="@+id/descripcion_offers_charger"
android:paddingLeft="10px"
android:paddingTop="10px"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:textStyle="normal"
android:textSize="14px" />
</TableRow>
<ListView android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
</ListView>
</TableLayout>
这是我班级的一部分:
public class OffersChargerActivity extends ListActivity{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.offers_charger);
...
public class AdaptadorTitulares extends ArrayAdapter<Oferta> {
Activity context;
AdaptadorTitulares(Activity context) {
super(context, R.layout.offers_charger, ofertas);
this.context = context;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if (view == null) {
LayoutInflater linflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = linflater.inflate(R.layout.offers_charger, null);
}
// poblamos la lista de elementos
TextView precio = (TextView)view.findViewById(R.id.precio_offers_charger);
precio.setText(ofertas.get(position).getPrecio().concat("€"));
ImageView imagen = (ImageView) view.findViewById(R.id.imagen);
imagen.setImageBitmap(new GetImages().downloadFile(ofertas.get(position).getImagen()));
TextView cabecera = (TextView)view.findViewById(R.id.cabecera_offers_charger);
cabecera.setText(ofertas.get(position).getCabecera());
TextView descripcion = (TextView)view.findViewById(R.id.descripcion_offers_charger);
descripcion.setText(ofertas.get(position).getDescripcion());
return view;
}
}
...
}
答案 0 :(得分:2)
这对我有用:
<TextView
android:id="@+id/nameText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_vertical"
android:textColor="@android:color/black" />
尝试添加'layout_weight'并将'layout_width'更改为“fill_parent”。
希望这有帮助!
答案 1 :(得分:0)
不包装内容,使用fill_parent作为宽度,还设置android:ellipsize =“true”