我正面临一个让我发疯的问题。那是事情。我有一个展开媒体文件的可扩展列表活动。一组是音频文件,另一组是图像文件。 AudioGroup的孩子有一个布局,ImageGroup的孩子有另一个不同的布局。这是我正在使用的代码
可扩展的列表适配器,CHILDVIEW PART
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
inflaterChild=activity.getLayoutInflater();
convertView=null;
//seleccionamos el layout que nos convenga en funcion de si es audio o imagen
//audio
if(mediaObjects.get(groupPosition).getFiles().get(childPosition).getTipo()==1){
viewChild=inflaterChild.inflate(R.layout.layout_child_media_musica, null);
descripcion=(TextView)viewChild.findViewById(R.id.descripcionMusica);
descripcion.setText(Html.fromHtml(mediaObjects.get(groupPosition).getFiles().get(childPosition).getDescripcion()));
}
//imagen
if(mediaObjects.get(groupPosition).getFiles().get(childPosition).getTipo()==2){
viewChild=inflaterChild.inflate(R.layout.layout_media_imagenes, null);
thumbnail=(ImageView)viewChild.findViewById(R.id.thumbnailMedia);
thumbnail.setImageResource(R.drawable.portada);
descripcion=(TextView)viewChild.findViewById(R.id.descripcionImagen);
descripcion.setText(Html.fromHtml(mediaObjects.get(groupPosition).getFiles().get(childPosition).getDescripcion()));
}
return viewChild;
}
支持AUDIOGROUP
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
tools:context=".Media"
android:orientation="vertical"
android:id="@+id/childMediaMusica"
android:weightSum="100">
<TextView
android:id="@+id/descripcionMusica"
android:layout_height="0dp"
android:layout_weight="30"
android:layout_width="match_parent"/>
<LinearLayout
android:id="@+id/contenedorBotones"
android:layout_height="0dp"
android:layout_weight="70"
android:layout_width="match_parent"
android:orientation="horizontal"
android:weightSum="100">
<Button
android:id="@+id/playStop"
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="50"/>
<Button
android:id="@+id/down"
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="50"/>
</LinearLayout>
</LinearLayout>
布局IMAGEGROUP
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
tools:context=".Media"
android:orientation="horizontal"
android:weightSum="100">
<ImageView
android:id="@+id/thumbnailMedia"
android:layout_width="0dp"
android:layout_weight="35"
android:layout_height="50dp"
android:scaleType="fitXY"
android:contentDescription="@string/desc"/>
<TextView
android:id="@+id/descripcionImagen"
android:layout_width="0dp"
android:layout_weight="65"
android:layout_height="50dp"/>
</LinearLayout>
正如您所看到的,这是一个非常简单的代码。嗯,这就是结果:
AudioGroup布局未填充整个宽度。 ImageGroup布局很乱,就像它看不到我写的重量。
有谁知道这到底发生了什么?
我已经测试过了:
每个布局中主要LinearLayout上的fill_parent,match_parent,wrap_content等的每个组合。
尝试使用dp meassure(这可行,但不是我想要的东西)
尝试在ImageGroup布局上使用其他图像
任何这些东西(除了使用dp大小)都有效,但我愿意接受建议,即使意味着再做一次。
谢谢大家
答案 0 :(得分:0)
JODERRR POR FIN !!!
好的,我刚刚解决了它。我带了3个* f * * 小时。设置正确的ExpandibleList布局很简单:
<ExpandableListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="90"
android:choiceMode="singleChoice"/>
在第一个时刻,我将layout_width作为wrap_content。
之前我无法相信我没有注意到它