什么是实现键值对的微调在Android上的正确方法键值、正确、方法、Android

2023-09-12 07:10:32 作者:向日葵沒了太陽要如何微笑

这是实现键值对的微调在Android的正确方法是什么?

 包com.mypackage

进口android.app.Activity;
进口android.os.Bundle;
进口android.view.View;
进口android.widget.Spinner;
进口android.widget.ArrayAdapter;
进口android.widget.AdapterView;
进口android.widget.TextView;

公共类SpinnerAndAdapter扩展活动
{
    TextView的valueTextView;

    / **第一次创建活动时调用。 * /
    @覆盖
    公共无效的onCreate(包savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.main);

        valueTextView =(TextView中)findViewById(R.id.selected);
        微调S =(微调)findViewById(R.id.spinner);
        最终迈德特项[] =新迈德特[3];
        项目[0] =新迈德特(键1,值1);
        项[1] =新迈德特(KEY2,值2);
        项[2] =新迈德特(KEY3,值3);
        ArrayAdapter<迈德特>适配器=
            新的ArrayAdapter<迈德特>(
                本,
                android.R.layout.simple_spinner_item,
                项);
        adapter.setDropDownViewResource(
            android.R.layout.simple_spinner_dropdown_item);
        s.setAdapter(适配器);
        s.setOnItemSelectedListener(
            新AdapterView.OnItemSelectedListener(){
                公共无效onItemSelected(
                        适配器视图<>父母,
                        查看查看,
                        INT位置,
                        长ID){
                    迈德特D =项目[位置]
                    valueTextView.setText(d.getValue());
                }

                公共无效onNothingSelected(适配器视图<>母公司){
                }
            }
        );
    }

    类迈德特{
        公共迈德特(字符串spinnerText,字符串值){
            this.spinnerText = spinnerText;
            THIS.VALUE =价值;
        }

        公共字符串getSpinnerText(){
            返回spinnerText;
        }

        公共字符串的getValue(){
            返回值;
        }

        公共字符串的toString(){
            返回spinnerText;
        }

        字符串spinnerText;
        字符串值;
    }
}
 

解决方案 手把手教会B2B企业利用Google转化跟踪实现线上营销最大化 上篇

这是一种方式。 我用它了不少,虽然我用我自己的适配器(从BaseAdpater继承)。 另一种方法是b类似上面有一个索引(0,1,2等)mappd的值,当你得到一个项目得到它的指数,所以你可以检索它的值来回MTHE地图。 我喜欢这种选择更少......

Is this the correct way to implement key-value pair for a Spinner in Android?

package com.mypackage

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Spinner;
import android.widget.ArrayAdapter;
import android.widget.AdapterView;
import android.widget.TextView;

public class SpinnerAndAdapter extends Activity
{
    TextView    valueTextView;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        valueTextView = (TextView)findViewById( R.id.selected );
        Spinner s = (Spinner)findViewById(R.id.spinner);
        final MyData items[] = new MyData[3];
        items[0] = new MyData( "key1","value1" );
        items[1] = new MyData( "key2","value2" );
        items[2] = new MyData( "key3","value3" );
        ArrayAdapter<MyData> adapter = 
            new ArrayAdapter<MyData>( 
                this,
                android.R.layout.simple_spinner_item,
                items );
        adapter.setDropDownViewResource(
            android.R.layout.simple_spinner_dropdown_item);
        s.setAdapter(adapter);
        s.setOnItemSelectedListener(
            new AdapterView.OnItemSelectedListener() {
                public void onItemSelected(
                        AdapterView<?> parent, 
                        View view, 
                        int position, 
                        long id) {
                    MyData d = items[position];
                    valueTextView.setText( d.getValue() );
                }

                public void onNothingSelected(AdapterView<?> parent) {
                }
            }
        );
    }

    class MyData {
        public MyData( String spinnerText, String value ) {
            this.spinnerText = spinnerText;
            this.value = value;
        }

        public String getSpinnerText() {
            return spinnerText;
        }

        public String getValue() {
            return value;
        }

        public String toString() {
            return spinnerText;
        }

        String spinnerText;
        String value;
    }
}

解决方案

this is one way. i use it quite a lot though i use my own adapter (inheriting from BaseAdpater). Another way would b like the above to have an index (0,1,2 etc ) mappd to a value and when you get an item get it's index a well so you can retrieve it's value fro mthe map. I like that option less...