0

我正在尝试显示我正在创建的游戏的高分,有两列,一列是他们的名字,另一列是他们完成游戏所花费的移动量。

目前,它全部存储在 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);
4

1 回答 1

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(包含两个条目,一个用于名称,一个用于移动)并使用 a SimpleAdapter(使用上面的行布局)。

于 2012-05-21T17:11:16.363 回答