0
我有ListView
我想這顯示與固定height.Items佈局自定義項目:根LinearLayout
的的ListView適用WRAP_CONTENT其項目在Android
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="200dp"
android:orientation="horizontal">
<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyle"
android:layout_width="20dp"
android:layout_height="match_parent"
android:layout_gravity="center_vertical" />
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
app:srcCompat="@drawable/login_btn_facebook" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="10dp"
android:text="TextView"
android:textColor="@color/gameMenuItem"
android:textSize="16sp"/>
</LinearLayout>
通知固定的高度。 適配器類:
public class SelectorMenuLoggedOutAdapter extends BaseAdapter {
public static final int ACTION_LOGIN_FACEBOOK=0;
public static final int ACTION_LOGIN_GOOGLE=1;
public static final int ACTION_FEEDBACK=2;
public static final int ACTION_RATE_US=3;
private LayoutInflater inflater;
private Context context;
public SelectorMenuLoggedOutAdapter(Context ctx) {
inflater=LayoutInflater.from(ctx);
context=ctx;
}
@Override
public int getCount() {
return 2;
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View res=convertView;
if (res==null) {
switch (position) {
case 0:
res = inflater.inflate(R.layout.selector_menu_item_login,null);
((TextView)res.findViewById(R.id.title)).setText(context.getText(R.string.selector_menu_login_facebook));
((ImageView)res.findViewById(R.id.icon)).setImageResource(R.drawable.login_btn_facebook);
res.findViewById(R.id.progress).setVisibility(View.GONE);
break;
case 1:
res = inflater.inflate(R.layout.selector_menu_item_login,null);
((TextView)res.findViewById(R.id.title)).setText(context.getText(R.string.selector_menu_login_google));
((ImageView)res.findViewById(R.id.icon)).setImageResource(R.drawable.login_btn_google);
res.findViewById(R.id.progress).setVisibility(View.GONE);
break;
}
}
return res;
}
}
然而,當我設置這個適配器到我的列表中查看它顯示的行,像他們layout_height = WRAP_CONTENT:
一些無用的細節告訴解析器它不是主要的代碼,並有沒有什麼可以添加arghhh。
你怎麼想實際上你可以在這裏展示它!因此,我們可以清楚地瞭解您的問題。你的問題有點不清楚。 –
我想列表項目的高度,因爲它在佈局中聲明不wrap_content – undefined
如果我沒有錯,那麼你可以請嘗試這樣做。刪除高度作爲wrap_content,並在您的視圖中將其設置爲match_parent,即必須在列表視圖中顯示的視圖。不要在LinearLayout中對xml代碼中的視圖進行任何更改。這樣做,並告訴它是否正常工作 –