首页 > 解决方案 > 从 json 获取数据时 Spinner 默认不选择

问题描述

嗨,我之前问过这个问题。但我没有得到适当的解决方案。我有一个微调器,它将从 json 加载数据。从微调器中选择任何项目后,它将再次将第零个位置值发布到另一个 API。一切工作正常。但我的问题是我默认不希望微调器选择。我添加了一个名为“无选择”到第零位,但它不起作用。请帮我实现这一点。

我的微调器

   void getList(){

            final Common common = new Common();
            int a= 100;
            String webService = "API/Employee/GetList";
            String postData = "";
            String[] dataColumns = {"ID",//0
                    "Code",//1
                    "Name" ,//2

            };
            Runnable postThread = new Runnable() {
                @Override
                public void run() {
                    //Spinner
                    int a= 0;
                    ArrayList<String> Names = new ArrayList<String>();
                    for (int i=0;i<common.dataArrayList.size();i++){
                        String[] data=new String[3];
                        data[0]=common.dataArrayList.get(i)[0];
                        data[1]=common.dataArrayList.get(i)[1];
                        data[2]=common.dataArrayList.get(i)[2];

                        List.add(data);
                    }
                    for(int i=0;i<List.size();i++){
                        Names.add(List.get(i)[1]+" - "+List.get(i)[2]);
                    }
                    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(Insert.this, R.layout.item_spinner_black, Names);
                    dataAdapter.setDropDownViewResource(R.layout.item_spinner);
                    Spinner =(Spinner)findViewById(R.id.spinner);

//I added below code but it not working 

    //              dataAdapter.insert(getString(R.string.selectemp), 0);
                    Spinner.setAdapter(dataAdapter);


                }

我的帖子数据

  postData="{\"Title\":\""+title.getText().toString()
            +"\",\"Spinnervalue\":\""+List.get(Spinner.getSelectedItemPosition())[0]}

标签: androidjsongsonandroid-spinner

解决方案


我认为它对你有帮助。

 ArrayList<String> Names = new ArrayList<String>();
    Names.add("no selection");
   for (int i=0;i<common.dataArrayList.size();i++){
                        String[] data=new String[3];
                        data[0]=common.dataArrayList.get(i)[0];
                        data[1]=common.dataArrayList.get(i)[1];
                        data[2]=common.dataArrayList.get(i)[2];

                        List.add(data);
                    }
                    for(int i=0;i<List.size();i++){
                        Names.add(List.get(i)[1]+" - "+List.get(i)[2]);
                    }

推荐阅读