如何为微调器设置 "hint text"?

How to set "hint text" for spinner?

来自数据库的 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();
        }
    }

有很多方法:

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