微调与键 - 值对 [英] Spinner with Key-Value Pair

查看:107
本文介绍了微调与键 - 值对的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的工作多语言用户界面。我的要求是在微调我要显示在印地文数据,但什么时候会被选中,它应该返回英文显示它可以比较进一步的决策。就像用标签标记。

我的Java code是这样的

 的HashMap<字符串,字符串>选项​​=新的HashMap<字符串,字符串>();
    串optionsEnglish [] = getResources()getStringArray(R.array.option_array)。
    。串optinsHindi [] = getResources()getStringArray(R.array.option_array_hindi);

    的for(int i = 0; I< optionsEnglish.length;我++)
    {
        options.put(optionsEnglish [I],optinsHindi [I]);
    }
    微调optionSpinner =(微调)findViewById(R.id.optionPicker);


    ArrayAdapter< HashMap的<字符串,字符串>> DataAdapter的=新的ArrayAdapter< HashMap的<字符串,字符串>>(这一点,android.R.layout.simple_spinner_item);
    dataAdapter.add(选件);


    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    optionSpinner.setAdapter(DataAdapter的);
 

在XML

 <资源>
            <字符串数组名=option_array>
                  <项目>市场< /项目>
                  <项目>商品< /项目>
            < /字符串数组>

            <字符串数组名=option_array_hindi>
                  <项目>बाजार< /项目>
                  <项目>वस्तु< /项目>


            < /字符串数组>

     < /资源>
 

解决方案

希望这能帮助你

在添加数据中的微调

 私人无效setDataInSpinner(微调ID,诠释dataArray中){
        ArrayAdapter< CharSequence的>适配器= ArrayAdapter.createFromResource(
                对此,dataArray中,android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
        id.setAdapter(适配器);
    }
 

要获得在选择值微调的使用

 微调mySpinner =(微调)findViewById(R.id.spinner);
文本字符串= mySpinner.getSelectedItem()的toString()。
 

或者您可以使用 setOnItemSelectedListener ,以获得所选择的值

 字符串值=的getclass code.get code(文本); //这里我只好通过选择在微调的值
 

创建一个

 公共类的getclass code {
    静态的HashMap<字符串,字符串> codeHash =新的HashMap<字符串,字符串>();

    静态{
        在里面();
    }

    公共静态无效的init(){
        codeHash.put(钥匙,价值);
        codeHash.put(钥匙,价值);
        codeHash.put(钥匙,价值);
        codeHash.put(钥匙,价值);

    }

    公共静态字符串得到code(字符串参数){
        返回codeHash.get(参数);
    }
}
 

I am working on multi languages UI. My requirement is in spinner I want to show data in Hindi but when it will be selected it should return english show it can compare to further decision making. Just like tag with tag.

My java code is something like this

    HashMap<String,String> options=new HashMap<String,String>();
    String optionsEnglish [] = getResources().getStringArray(R.array.option_array);
    String optinsHindi[]= getResources().getStringArray(R.array.option_array_hindi);

    for(int i=0;i<optionsEnglish.length;i++)
    {
        options.put(optionsEnglish[i], optinsHindi[i]);
    }
    Spinner optionSpinner = (Spinner) findViewById(R.id.optionPicker);


    ArrayAdapter<HashMap<String, String>> dataAdapter = new ArrayAdapter<HashMap<String,String>>(this, android.R.layout.simple_spinner_item);
    dataAdapter.add(options);


    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    optionSpinner.setAdapter(dataAdapter);

In xml

    <resource>       
            <string-array name="option_array">
                  <item>Market</item>
                  <item>Commodity</item>
            </string-array>

            <string-array name="option_array_hindi">
                  <item>बाजार</item>
                  <item>वस्तु</item>


            </string-array>

     </resources>

解决方案

Hope this can help you

Add Data in in Spinner

private void setDataInSpinner(Spinner id, int dataArray) {
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                this, dataArray, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
        id.setAdapter(adapter);
    }

To get the selected value of Spinner use this

Spinner mySpinner = (Spinner)findViewById(R.id.spinner);
String Text = mySpinner.getSelectedItem().toString();

Or You can use setOnItemSelectedListener to get the selected values

String value = GetClassCode.getCode(Text);//here u have to pass the value that is selected on the spinner

Create a Class

public class GetClassCode {
    static HashMap<String, String> codeHash = new HashMap<String, String>();

    static {
        init();
    }

    public static void init() {
        codeHash.put("key", "value");
        codeHash.put("key", "value");
        codeHash.put("key", "value");
        codeHash.put("key", "value");

    }

    public static String getCode(String param) {
        return codeHash.get(param);
    }
}

这篇关于微调与键 - 值对的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆