setEmptyView with custom listLayout in ListFragment

ramkumar728

New Member
I'm using a paginator with a few of fragments.I want show a message when there are not any entries on the list (fragment).I tried to use textview with android:id="@id/android:empty but it doesn't work.Custom list layout code:\[code\]<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="@dimen/padding_medium" > <TextView android:id="@+id/label_value" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:layout_marginLeft="@dimen/padding_medium" android:text="@string/label_value" android:textColor="@android:color/white" android:textSize="18sp" /> <TextView android:id="@+id/label_date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_marginRight="@dimen/padding_medium" android:text="@string/title_time" android:textColor="@android:color/white" android:textSize="16sp" /></RelativeLayout>\[/code\]List adapter class:\[code\]public class JournalAdapter extends ArrayAdapter<String> { private final Context context; private final List<String> values; private final List<String> dates; public JournalAdapter(Context context, List<String> values, List<String> dates) { super(context, R.layout.layout_journal_list, values); this.context = context; this.values = values; this.dates = dates; } @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View rowView = inflater.inflate(R.layout.layout_journal_list, parent, false); TextView value = http://stackoverflow.com/questions/14082303/(TextView) rowView.findViewById(R.id.label_glucose); TextView date = (TextView) rowView.findViewById(R.id.label_date); value.setText(values.get(position)); date.setText(dates.get(position)); return rowView; }}\[/code\]List parsing method:\[code\]private void initListView() { values = dataSource.getAllValues(); List<String> values = new ArrayList<String>(); List<String> dates = new ArrayList<String>(); for (Value value : values) { values.add(Double.toString(value.getValue())); dates.add(secondsToDate(value.getDate())); } setListAdapter(new JournalAdapter(context, values, dates)); listView = getListView(); listView.setEmptyView(noItems("NO ITEMS")); listView.setOnItemClickListener(this); }\[/code\]noItmes method:\[code\]private TextView noItems(String text) { TextView emptyView = new TextView(context); emptyView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); emptyView.setText(text); emptyView.setTextColor(Color.WHITE); emptyView.setTextSize(20); emptyView.setVisibility(View.GONE); emptyView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL); return emptyView; }\[/code\]
 
Back
Top