【问题标题】:Android spinner item id related probAndroid spinner item id 相关问题
【发布时间】:2012-12-21 10:02:59
【问题描述】:

我有一个ArrayList 的自定义对象。此自定义对象包含 zoneCode(Integer) 和 zoneName(String),我想将此数据设置在 Spinner 中,以便 zoneName 进入列表和onItemSelected,我可以获得相应选择的 zoneCode。怎么可能?

【问题讨论】:

    标签: android arraylist spinner android-arrayadapter


    【解决方案1】:

    尝试 zoneCod.get(位置)

     spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int   
        position, long id) {
                zoneCod.get(position);
          }
    }
    

    【讨论】:

      【解决方案2】:

      由于 zoneName 和 zoneCode 的数据都在数组列表中,并且您知道如何获取所选项目的位置。如果是,那么你可以得到 zoneCode 如下:

      zoneCode[position];
      

      【讨论】:

      • ArrayList 不能从 onItemSelected 访问
      【解决方案3】:

      在您的自定义对象类中覆盖 toString 方法并使其返回 zoneName

      class CustomObject{
      
      public String zoneName;
      public int zoneCode;
      
      public String toString(){
      return zoneName;
      }
      

      }

      设置微调器

      CustomObject[] objects = new CustomObject[10];
      
      //initialize each object
      
      
      ArrayAdapter<CustomObject> adapter = new ArrayAdapter<CustomObject>(this,android.R.layout.simple_spinner_item, objects);
      adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
      spinner.setAdapter(adapter);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多