当微调器数据来自服务器时,向微调器添加第一个值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当微调器数据来自服务器时,向微调器添加第一个值相关的知识,希望对你有一定的参考价值。

我想将第一个微调器值设置为“选择你的选择”然后显示来自服务器的数据一个解决方案*创建另一个数组列表并在该列表中包含值“选择你的选择”并将这两个组合并设置为微调器..如何我可以实现这一点请帮助我...(使用光标????)

 Spinner spinner;
  private JSONArray result;
  ArrayList<String> allNames = new ArrayList<String>();
 spinner.setPrompt("...Select the Vehicle Number...");

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() 

             {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

                String vno = spinner.getSelectedItem().toString();
            }

获取微调数据的方法

 JSONArray array = jsonObject.getJSONArray("Spinner value");
                for (int i = 0; i < array.length(); i++) {
                    JSONObject job = array.getJSONObject(i);
                    String name = job.getString("spinner_data");
                    allNames.add(name);

                }

                ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>
                        (MainActivity.this, android.R.layout.simple_spinner_item, allNames);


                spinner.setAdapter(dataAdapter);
答案

添加字符串 - 选择您的选择 - 作为数组列表中的第一个元素。

 String choice1 =  "-Select Your Choice-";
 allNames.add(choice1);     
 JSONArray array = jsonObject.getJSONArray("Spinner value");
                for (int i = 0; i < array.length(); i++) {
                    JSONObject job = array.getJSONObject(i);
                    String name = job.getString("spinner_data");
                    allNames.add(name);

                }

                ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>
                        (MainActivity.this, android.R.layout.simple_spinner_item, allNames);


                spinner.setAdapter(dataAdapter);
另一答案

试试这个

 JSONArray array = jsonObject.getJSONArray("Spinner value");
 allNames.add("Select Your Choice");    
 for (int i = 0; i < array.length(); i++) {
    JSONObject job = array.getJSONObject(i);
    String name = job.getString("spinner_data");
    allNames.add(name);

 }

 ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>
 (MainActivity.this, android.R.layout.simple_spinner_item, allNames);


 spinner.setAdapter(dataAdapter);
另一答案
  allNames.clear();
  allNames.add("Select Vehicle");
  JSONArray array = jsonObject.getJSONArray("Spinner value");
  for (int i = 0; i < array.length(); i++)
  {
  JSONObject job = array.getJSONObject(i);
  String name = job.getString("spinner_data");
  allNames.add(name);
  }
另一答案

做这个,

allNames.add("select your choice")

JSONArray array = jsonObject.getJSONArray("Spinner value");
for (int i = 0; i < array.length(); i++) {
JSONObject job = array.getJSONObject(i);
String name = job.getString("spinner_data");
allNames.add(name);}

它会自动将第一个索引设置为选项选项。

另一答案

您可以创建自己的object,类似于从服务器收到的response,并在解析服务器数据之前将其添加到list

在这里,您的服务器响应只是字符串,您可以将字符串对象添加到列表中。

allNames.clear();
allNames.add("Your First Option");//any string that relevance to your need
//code to parse server response
allNames.add(name);
另一答案

尝试这个,在调用获取微调器数据方法之前,只需添加此行

String name="select your choice"
allNames.add(name);

然后初始化获取微调器数据表单服务器

另一答案
String choice1 =  "Select Your Choice";
 allNames.add(choice1);  


JSONArray array = jsonObject.getJSONArray("Spinner value");
                for (int i = 0; i < array.length(); i++) {
                    JSONObject job = array.getJSONObject(i);
                    String name = job.getString("spinner_data");
                    allNames.add(name);

                }

以上是关于当微调器数据来自服务器时,向微调器添加第一个值的主要内容,如果未能解决你的问题,请参考以下文章

当其他微调器更改时保持微调器选择

如何在两个屏幕之间显示加载微调器

如何根据两个不同活动中其他微调器的位置更改微调器的位置

从微调器中移除焦点

将微调器添加到 ActionBar(不是导航

如何使用 SimpleAdapter 在微调器中设置选择?