【问题标题】:Android add "Select station ..." as a first item to a SpinnerAndroid将“Select station ...”作为第一项添加到 Spinner
【发布时间】:2012-03-31 02:24:18
【问题描述】:

我正在使用 SimplecursorAdapter 填充 Spinner。如何添加“选择电台...”作为第一项?

SimpleCursorAdapter adapter = new SimpleCursorAdapter (this, R.layout.stnacspinner_item, cspinner, new String[] {"_id"}, new int[] {R.id.stnacspinnertext});
         adapter.setDropDownViewResource(R.layout.stnacspinner_item);
         sp.setAdapter(adapter);

【问题讨论】:

    标签: android


    【解决方案1】:

    也许您可以覆盖 CursorAdapter 中的 getCount、getItem 和 getItemId 方法,以使您拥有更多元素...像这样的东西(未经测试的想法):

    int getCount(){
        return super.getCount() + 1;
    }
    
    Object getItem(int position) {
        if (position == 0) {
            return "Select Station";
        } else {
            return super.getItem(position - 1);
        }
    
    }
    

    【讨论】:

      【解决方案2】:

      1) 创建arrayList并将光标结果放入其中,然后创建数组适配器并将该列表设置为适配器:

      as.add(0, "select insurance");
      
      Cursor cursorInsurance = this.dbH1.getReadableDatabase().query(
          "tablename",
          new String[]{"column field..."}, 
          null,
          null,
          null,
          null,
          null );
      
      if(cursorInsurance!=null) {
          if(cursorInsurance.moveToFirst()) {
              do {
              as.add(cursorInsurance.getString(2));
              } while(cursorInsurance.moveToNext());
          }
      }
      
      ArrayAdapter<String> adpInsurance=new ArrayAdapter<String>(context, android.R.layout.simple_spinner_item,as);
      
      adpInsurance.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
      spInsurance.setAdapter(adpInsurance);
      spInsurance.setSelection(0);
      
      adpInsurance.notifyDataSetChanged();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多