我正试图为我正在制作的游戏显示高分,有两列,一列是他们的名字,另一列是他们完成游戏所需的动作量。
目前它全部存储在SQLiteDatabase中,并以列表视图显示,其中它以“
”格式显示为一列名,移动
但是我想在屏幕的反面进行移动,这需要多个列表视图,还是需要编辑一个列表视图或其适配器?
目前使用的代码是:
datasource = new HighScoreDataSource(this);
datasource.open(); //Open the connection
List<HighScore> values = datasource.getAllHighScores(); //Retrieve all the data
//Using a simple cursor adapted to show the elements
ArrayAdapter<HighScore> adapter = new ArrayAdapter<HighScore>(this, android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);
答案 0 :(得分:0)
按照您想要的方式制作一个包含两个TextViews
的行布局,并实现一个简单的自定义ArrayAdapter
:
public class CustomAdapter extends ArrayAdapter<HighScore> {
private LayoutInflater inflater;
public CustomAdapter(Context context, int textViewResourceId,
List<HighScore> objects) {
super(context, textViewResourceId, objects);
inflater = LayoutInflater.from(context);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = inflater.inflate(R.layout.new_row_layout, parent, false);
}
HighScore item = getItem(position);
TextView name = (TextView) findViewById(R.id.name_id_textview);
name.setText(/*get the name from the item HighScore object*/);
TextView moves = (TextView) findViewById(R.id.moves_id_textview);
moves.setText(/*get the moves from the item HighScore object*/);
return convertView;
}
}
另一种选择是在List<HighScore> values
列表中打破HashMaps
(包含两个条目,一个用于名称,一个用于移动)并使用SimpleAdapter
(上面的行布局) )。