0

我是android的初学者,我的listview有问题。

所以我从数据库中获取列表视图值,并且工作正常。但我想在向用户展示之前编辑其中一个值,并且在多次失败后,我恳请您的建议。

这是我获取数据并在列表视图中显示的代码

listSquad=(ListView)findViewById(R.id.listview);            

        String[] arrayColumns = new String[]{"sq_pos", "sq_name", "sq_born", "sq_gam", "sq_goal"};

        int[] arrayViewID = new int[]{R.id.pos,R.id.name,R.id.age,R.id.games,R.id.goals};

            DBAdapter db = new DBAdapter(this);
            db.open();
            Cursor c;
            c = db.doQuery("squad", null, null, null, null, null, "sq_name");

            SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.team_list_lay, c, arrayColumns, arrayViewID);
            listSquad.setAdapter(adapter);          

所以我想取“sq_born”列的值并改变它,然后显示在列表视图中。该列是整数。

4

1 回答 1

1

就像 Aditya Rai 建议的那样,我使用了 viewbinder,如下所示:

adapter.setViewBinder(new SimpleCursorAdapter.ViewBinder() {
            public boolean setViewValue(View view, Cursor cursor, int column) {
                if( view.getId() == R.id.age){
                    //do something here
                    TextView text = (TextView)view;
                    //set text in here                      
                    text.setText("blaah");                                                                        
                    return true;
                }
                return false;
            }
        });
于 2013-08-22T14:40:32.533 回答