I am trying to set a fixed progress in items in a ListView. I only see an indefinite rotating circle in the ListView ... what am I doing wrong? (I'm sure the answer is simple ... I just don't see it)
For the following xml adapter layout:
<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" />
the code:
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; } }
android
Jeff campbell
source share