多列表视图?

时间:2012-05-21 16:54:33

标签: android sql sqlite android-listview

我正试图为我正在制作的游戏显示高分,有两列,一列是他们的名字,另一列是他们完成游戏所需的动作量。

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

1 个答案:

答案 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(上面的行布局) )。