在listview中的Android进度条总是不确定的

我试图设置ListView中项目的固定进度。 我只能在ListView中看到一个不确定的旋转圈….我做错了什么? (我确定答案很简单…我只是没有看到它)

对于以下适配器布局xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/some_text" android:layout_width="match_parent" android:layout_height="wrap_content" /> <ProgressBar android:id="@+id/some_progress" android:layout_width="match_parent" android:layout_height="wrap_content" /> 

码:

 public class SomeListAdapter extends ArrayAdapter<MyItem> { private static class ViewHolder { TextView nameTextView; ProgressBar valueProgressBar; } public BestChoiceListAdapter(Context context, List<MyItem> items) { super(context, R.layout.list_item, items); } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; View view = convertView; if (view == null) { LayoutInflater vi = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); view = vi.inflate(R.layout.list_item, null); holder = new ViewHolder(); holder.nameTextView = (TextView) view.findViewById(R.id.some_text); holder.valueProgressBar = (ProgressBar) view.findViewById(R.id.some_progress); view.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } MyItem optionItem = getItem(position); holder.nameTextView.setText(optionItem.getOptionName()); int progress = (int) (optionItem.getOptionValue()); holder.valueProgressBar.setProgress(progress); return view; } } 

Solutions Collecting From Web of "在listview中的Android进度条总是不确定的"

最简单的方法是将横向样式应用于其中:

 <ProgressBar android:id="@+id/some_progress" style="@android:style/Widget.ProgressBar.Horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" /> 

这将设置您将手动添加的所有属性,以应用确定的进度模式。

如果您好奇,这就是系统风格的样子,如果您想单独应用这些属性:

 <style name="Widget.ProgressBar.Horizontal"> <item name="android:indeterminateOnly">false</item> <item name="android:progressDrawable">@android:drawable/progress_horizontal</item> <item name="android:indeterminateDrawable">@android:drawable/progress_indeterminate_horizontal</item> <item name="android:minHeight">20dip</item> <item name="android:maxHeight">20dip</item> </style> 

HTH

将不确定模式更改为false!

 <ProgressBar  android:id="@+id/some_progress" android:layout_width="match_parent" android:layout_height="wrap_content" android:indeterminate="false" />