【问题标题】:How to set "hint text" for spinner? [duplicate]如何为微调器设置“提示文本”? [复制]
【发布时间】:2016-06-14 19:31:28
【问题描述】:

来自数据库的 Spinner 的值。我很困惑为 Spinner 添加提示,我在 SO 中关注了一些帖子,但我对这个地方感到震惊,我尝试了这个

    Spinner sp = (Spinner)findViewById(R.id.spinner); 
    sp.setSelection(pos);

该位置具有整数值,因此我将其作为位置的整数值给出,我也尝试在 setSeletction() 方法中使用 getCount()

main.java

    //spinner for customer
        sp=(Spinner)findViewById(R.id.spinner);
        adapter=new ArrayAdapter<String>(this,R.layout.spinner_layout,R.id.txt,listItems);
        sp.setAdapter(adapter);
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sales_order);
        cus_name = (Spinner) findViewById(R.id.spinner);//customer spinner

        // Permission StrictMode
        if (android.os.Build.VERSION.SDK_INT > 9) {
            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
            StrictMode.setThreadPolicy(policy);
        }

        //spinner for customer
        sp=(Spinner)findViewById(R.id.spinner);
        adapter=new ArrayAdapter<String>(this,R.layout.spinner_layout,R.id.txt,listItems);
        sp.setAdapter(adapter);


    }

private class BackTask extends AsyncTask<Void,Void,Void> {
        ArrayList<String> list;
        protected void onPreExecute(){
            super.onPreExecute();
            list=new ArrayList<>();
        }
        protected Void doInBackground(Void...params){
            InputStream is=null;
            String result="";
            try{
                HttpClient httpclient=new DefaultHttpClient();
                HttpPost httppost= new HttpPost("http://IP/web_services/customer_spinner.php");
                HttpResponse response=httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
                // Get our response as a String.
                is = entity.getContent();
            }catch(IOException e){
                e.printStackTrace();
            }

            //convert response to string
            try{
                BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8"));
                String line = null;
                while ((line = reader.readLine()) != null) {
                    result+=line;
                }
                is.close();
                //result=sb.toString();
            }catch(Exception e){
                e.printStackTrace();
            }
            // parse json data
            try{
                JSONObject object = new JSONObject(result);
                JSONArray jArray = object.getJSONArray("cus_Name");
                //JSONArray jArray =new JSONArray(result);
                for(int i=0;i<jArray.length();i++){
                    JSONObject jsonObject=jArray.getJSONObject(i);
                    // add interviewee name to arraylist
                    list.add(jsonObject.getString("cus_Name"));
                }
            }
            catch(JSONException e){
                e.printStackTrace();
            }
            return null;
        }
        protected void onPostExecute(Void result){
            listItems.addAll(list);
            adapter.notifyDataSetChanged();
        }
    }

【问题讨论】:

  • 它不工作可能在我的代码中出错

标签: java android spinner android-spinner


【解决方案1】:

方法有很多:

1.) Android 提示微调器

在 build.gradle 文件中使用这个依赖。

dependencies {
    compile 'me.srodrigo:androidhintspinner:1.0.0'
}

输出:

更多详情请访问:https://github.com/srodrigo/Android-Hint-Spinner

2.) 第二种方式

访问这里: https://github.com/ravivyas84/AndroidSpinnerHint

【讨论】:

  • 是的,它完美..你是天才
  • @karthiventure 很高兴为您提供帮助。
  • @Ironman 我看不懂方法:(
  • 效果很好....
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-29
  • 2012-03-25
  • 1970-01-01
  • 2011-08-29
  • 1970-01-01
  • 2011-09-17
  • 1970-01-01
相关资源
最近更新 更多