У меня возникли проблемы с тем, что кажется простым использованием ListActivity с пользовательским адаптером.Вот код адаптера:
public class CustomRowAdapter extends BaseAdapter
{
private Context mContext;
public CustomRowAdapter ( Context context )
{
mContext = context;
}
@Override
public int getCount()
{
return 6;
}
@Override
public Object getItem( int position )
{
return null;
}
@Override
public long getItemId( int position )
{
return position;
}
@Override
public View getView( int position, View convertView, ViewGroup parent )
{
LinearLayout rowLayout;
if( convertView == null )
{
rowLayout = ( LinearLayout )LayoutInflater.from( mContext ).inflate( R.layout.list_item_layout, parent, false );
}
else
{
rowLayout = ( LinearLayout )convertView;
}
return rowLayout;
}
}
, а вот действие:
public class MyListActivity extends ListActivity
{
@Override
public void onCreate( Bundle savedInstanceState )
{
super.onCreate( savedInstanceState );
setContentView( R.layout.list_layout );
}
@Override
public void onResume()
{
super.onResume();
CustomRowAdapter rowAdapter = new CustomRowAdapter( this );
setListAdapter( rowAdapter );
}
}
list_item_layout - это просто LinearLayout с одним TextView, поэтому я ожидаю увидеть 6 идентичных элементовв моем списке, но список пуст.Я прошел через CustomRowAdapter.getView (), и он вызывается с позициями от 0 до 5. Я должен упустить что-то простое.Почему список выглядит пустым?
РЕДАКТИРОВАТЬ: ListView имеет дочерние элементы в просмотрщик иерархии, поэтому, похоже, у меня может быть проблема где-то в моих макетах.Вот макет, содержащий ListView:
<LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<TableLayout android:id="@+id/TableLayout01" android:layout_height="wrap_content" android:layout_width="fill_parent" android:stretchColumns="*" android:orientation="horizontal">
<TableRow android:layout_height="wrap_content" android:id="@+id/TableRow01" android:layout_width="fill_parent">
<Button android:layout_width="wrap_content" android:layout_gravity="left|center_vertical" android:minWidth="65dp" android:layout_height="wrap_content" android:id="@+id/back_button" android:text="@string/back"></Button>
<TextView android:textColor="#FFFFFF" android:textStyle="bold" android:layout_gravity="center" android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="16sp" android:text="@string/general_information"></TextView>
<Button android:layout_width="wrap_content" android:layout_gravity="right|center_vertical" android:minWidth="65dp" android:layout_height="wrap_content" android:id="@+id/next_button" android:text="@string/next"></Button>
</TableRow>
</TableLayout>
<ListView android:layout_weight="1" android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@android:id/list"></ListView>
</LinearLayout>
, а вот макет для элементов списка:
<LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<TextView android:id="@+id/textView1" android:layout_height="wrap_content" android:text="TextView" android:layout_width="wrap_content" android:textColor="#FFFFFF"></TextView>
</LinearLayout>