当前位置: 首页 > 知识库问答 >
问题:

在旋转器中设置键和值

华福
2023-03-14

我有一个旋转器,我想在这个上面设置一个键和一个值,我使用HashMap,这是工作,但显示一行,如下所示:

代码:

        final View rootView = inflater.inflate(R.layout.fragment_photos, container, false);

    Spinner spin=(Spinner)rootView.findViewById(R.id.spinner1);

    HashMap<Integer, String> P_Hash=new HashMap<Integer, String>();

    Update Get_Information=new Update(rootView.getContext());

    ArrayList<String> Province_NAME=new ArrayList<String>();
    Province_NAME=Get_Information.GET_Province();

    ArrayList<Integer> Province_ID=new ArrayList<Integer>();
    Province_ID=Get_Information.Get_Province_ID();

    for (int i = 0; i < Province_ID.size(); i++)
    {
        P_Hash.put(Province_ID.get(i), Province_NAME.get(i));
        Log.d("Province_ID.get(i)", Province_ID.get(i)+"");
        Log.d(" Province_NAME.get(i)",  Province_NAME.get(i)+"");
    }


    ArrayAdapter<HashMap<Integer, String>> adapter = new ArrayAdapter<HashMap<Integer,String>>(rootView.getContext(), android.R.layout.simple_spinner_item);
    adapter.add(P_Hash);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    spin.setAdapter(adapter);

共有1个答案

尉迟俊能
2023-03-14

用键和值填充spinner的更好方法应该是:步骤1:创建POJO类,它将处理键和值

public class Country {

    private String id;
    private String name;

    public Country(String id, String name) {
        this.id = id;
        this.name = name;
    }


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }


    //to display object as a string in spinner
    @Override
    public String toString() {
        return name;
    }

    @Override
    public boolean equals(Object obj) {
        if(obj instanceof Country){
            Country c = (Country )obj;
            if(c.getName().equals(name) && c.getId()==id ) return true;
        }

        return false;
    }

}

注意:toString()方法很重要,因为它负责在spinner中显示数据,您可以根据需要修改toString()

步骤2:准备要加载到spinner中的数据

 private void setData() {

        ArrayList<Country> countryList = new ArrayList<>();
        //Add countries

        countryList.add(new Country("1", "India"));
        countryList.add(new Country("2", "USA"));
        countryList.add(new Country("3", "China"));
        countryList.add(new Country("4", "UK"));

        //fill data in spinner 
        ArrayAdapter<Country> adapter = new ArrayAdapter<Country>(context, android.R.layout.simple_spinner_dropdown_item, countryList);
        spinner_country.setAdapter(adapter);
        spinner_country.setSelection(adapter.getPosition(myItem));//Optional to set the selected item.    
    }
spinner_country.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

                 Country country = (Country) parent.getSelectedItem();
                 Toast.makeText(context, "Country ID: "+country.getId()+",  Country Name : "+country.getName(), Toast.LENGTH_SHORT).show();    
            }

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

万事如意,快乐的编码!

 类似资料:
  • 所以我在图像视图上做了一些旋转和翻译。据我所知,图像视图并没有真正在任何一个位置之后,你必须在动画完成后将其实际移动到那里。所以我尝试移动的图像视图称为标记,它设置在其原始位置和有它的起始位置。移动或翻译后,我调用来处理移动或旋转。这似乎有一半的时间完成了预期的结果...不确定我做错了什么,但它与我想要的方式不一致。

  • 编辑配置文件片段中有一个旋转器视图。 我想在旋转器中设置国籍的用户数据(从包中检索的值)。 我的尝试是: //国家数据

  • > 我有一个齿轮图像,我想围绕一个固定点连续旋转。 早些时候,我通过将图像作为ImageView包含在Android类中并对其应用RotateAnimation来实现这一点。 基本上,我将ImageView注入到类中并应用旋转动画。 但是,我再也不能奢侈地使用ImageView了。我必须使用位图并在画布上旋转它。 如何使用位图在画布上连续围绕一个固定点旋转来完成前面在onDraw()方法中所做的工

  • OpenGL总是围绕(0,0,0)旋转。但是我需要绕着相机旋转。我知道在GL中,没有相机,但是如果我翻译回(0,0,-6.0),它会绕着(0,0,0)旋转,而不是绕着(0,0,-6.0)旋转 所以我的问题是:如何在opengl和c中设置旋转中心 我已经找到了这篇文章:OpenGL围绕一个点旋转相机 显示此解决方案的地方: 旋转函数通常围绕原点旋转。要围绕另一个点P旋转,必须:平移(-P)旋转平移(

  • 问题内容: 我正在使用下面的代码将UIImageViews旋转到不同的角度。 有什么方法可以使图像从顶部而不是中间旋转? 我想避免涉及Sprite,因为我从未使用过Sprite,也不知道如何使Sprite在单个视图应用程序中工作。谢谢你的时间。 问题答案: 您正在寻找的是视图图层的anchorPoint属性。此属性基本上表示在视图四处移动时使用的 句柄 。 它默认为视图的中心,这就是为什么总是看到