У меня очень простой ListView в android и был установлен очень простой адаптер. Моя проблема в том, что в представлении списка ничего не отображается, независимо от адаптера и notifyDataSetChanged();
Вот мой код: XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView android:text="@string/app_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
></TextView>
<ListView android:id="@+id/selectView"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
</ListView>
</RelativeLayout>
Код операции:
import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;
import com.androidcourse.phonemapper.R;
import com.androidcourse.phonemapper.model.SelectViewAdapter;
public class SelectActivity extends Activity {
private ListView mListView;
private SelectViewAdapter mAdapter;
@Override
public void onCreate(Bundle savedState) {
super.onCreate(savedState);
setContentView(R.layout.select_activity);
initializeListView();
}
private void initializeListView() {
mListView = (ListView) findViewById(R.id.selectView);
mAdapter = new SelectViewAdapter(this);
mListView.setAdapter(mAdapter);
mAdapter.notifyDataSetChanged();
}
@Override
public void onResume() {
super.onResume();
}
}
И код адаптера:
import android.content.Context;
import android.graphics.Color;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class SelectViewAdapter extends BaseAdapter {
private Context mContext;
private TextView mMockTextView;
public SelectViewAdapter(Context cnt) {
mContext = cnt;
mMockTextView = new TextView(mContext);
mMockTextView.setText("Test text");
mMockTextView.setBackgroundColor(Color.CYAN);
}
@Override
public int getCount() {
return 3;
}
@Override
public Object getItem(int position) {
return mMockTextView;
}
@Override
public long getItemId(int position) {
return 3;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return mMockTextView;
}
}
Проблема заключается в том, что на экране ничего не отображается. Черный экран (и первый текстовый вид из XML) - это все, что я получаю. Я не вижу mockTextView и его текст. Видимо, я делаю что-то совершенно неправильно, но я не могу понять, что.