【问题标题】:Displaying an icon in a database using ViewBinder使用 ViewBinder 在数据库中显示图标
【发布时间】:2012-04-15 23:57:37
【问题描述】:

我已经成功地在 android 中使用SQlite 创建了一个表。数据库中有一个性别(男/女)列。我想做的是检查性别类型并根据类型显示男性/女性图标。我使用了setViewBinder(),它通过了列索引(我不知道到底是哪一列),但我相信我们可以用它来检查性别列。有没有更好的方法来做到这一点?

        ListView lv=(ListView)findViewById(R.id.mylist);


         dbh = new DatabaseHelper(this);

           c = dbh.getReadableDatabase().rawQuery("SELECT _id, " + 
                   DatabaseHelper.NAME + 
           ", " + DatabaseHelper.LASTNAME + 
           ", " + DatabaseHelper.ans2 + ", " + DatabaseHelper.SEX + 
           " FROM " +
           DatabaseHelper.TABLE_NAME, null); // initializing 


  String[] dataFrom ={DatabaseHelper.NAME, DatabaseHelper.LASTNAME, DatabaseHelper.ans2, DatabaseHelper.SEX};
  int[] dataTo = {R.id.name, R.id.value1, R.id.value2, R.id.icon};

  SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
               R.layout.row, c, dataFrom, dataTo);
  adapter.setViewBinder(new ViewBinder(){


       public boolean setViewValue(View view, Cursor cursor,
               int columnIndex) {
           if (view.getId() == R.id.icon) {
               int sex = cursor.getInt(columnIndex);
               String s = String.valueOf(sex);
               if (s == "male") {
                   ((ImageView) view).setImageResource(R.drawable.male);
               } else if (s == "female"){
                   ((ImageView) view).setImageResource(R.drawable.female);
               }

               return true;    
           } else {
               return false;
           }

       }

   });
lv.setAdapter(adapter);

【问题讨论】:

    标签: android sqlite cursor android-viewbinder


    【解决方案1】:

    bindView 方法允许您轻松设置/检查您的数据,因为您收到:

    • 您的光标定位到实际位置
    • 您可以在其中放置数据的视图

    【讨论】:

      【解决方案2】:
       if (s == "male")
      

      改成

      if (s.equals("male"))
      

      【讨论】:

        猜你喜欢
        • 2013-04-14
        • 1970-01-01
        • 1970-01-01
        • 2023-04-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-21
        相关资源
        最近更新 更多