Изменить макет списка, если он пуст
Я использую адаптер, чтобы установить макет элемента и заполнить ListView
из строки JSON. Иногда этот JSON пуст и в строке нет строк ListView
и это полностью пустым.
В этом случае я хочу изменить представление и передать другой макет с надписью "Здесь нет строк".
Итак, это мой код:
MainActivity.java
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView listView = (ListView) findViewById(R.id.listView);
List list = new LinkedList();
[...fill list...]
ListAdapter adapter = new ListAdapter(this, R.layout.list_row_layout, list, R.id.edCod, R.id.edDes);
listView.setAdapter(adapter);
}
}
ListAdapter.java
public class ListAdapter extends ArrayAdapter<Adapter> {
private LayoutInflater layoutInflater;
private int layout;
private int textCod;
private int textDes;
public FruttaAdapter(Context context, int layout, List<Adapter> objects, int textCod, int textDes) {
super(context, layout, objects);
this.layout = layout;
this.textCod = textCod;
this.textDes = textDes;
layoutInflater = LayoutInflater.from(context);
}
2 ответа
На самом деле, вы можете использовать ListActivity или ListFragment и использовать его EmptyView
(любой вид, который имеет идентификатор android.R.id.empty)