ハイスコアアクティビティを実装しようとしていますが、ListViewを使用しようとしています。ただし、問題があります。 リストビューには、.addHeaderView()メソッドによって追加された要素のみが表示されますが、アダプター要素は表示されないようです。
adapter.getCount()は正しい数の要素を返しますが、どういうわけかそれらは見えません。
助けてください、私はここで髪を抜いています。
私のアクティビティのレイアウト:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:keepScreenOn="true" >
<ListView
android:id="@+id/scores_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</ListView>
</LinearLayout>
私のListView行レイアウト:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/name"
android:layout_width="match_parent"
android:gravity="center_vertical"
android:paddingLeft="5dip"
/>
私のアクティビティコード:
public class ScoresActivity extends Activity {
private ScoresAdapter adapter;
private ListView scoresList;
private Cursor cursor;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scores);
scoresList = (ListView)findViewById(R.id.scores_layout);
SQLiteDatabase dataBase = ((MyApplication) getApplication()).getDataBase();
cursor = dataBase.query(ScoresDBHelper.SCORES_TABLE_NAME,null,null,null,null,null,null);
adapter = new ScoresAdapter(this, cursor, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
scoresList.addHeaderView(getLayoutInflater().inflate(R.layout.scores_list_row, null));
scoresList.setAdapter(adapter);
Toast.makeText(this, String.valueOf(adapter.getCount()), Toast.LENGTH_LONG).show();
}
}
私のアダプターコード:
class ScoresAdapter extends CursorAdapter{
LayoutInflater inflater;
public ScoresAdapter(Context context, Cursor c, int flags) {
super(context, c, flags);
inflater = LayoutInflater.from(context);
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
TextView textViewName = (TextView) view.findViewById(R.id.name);
textViewName.setText(cursor.getString(cursor.getColumnIndex("name")));
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
return inflater.inflate(R.layout.scores_list_row, null);
}
}