public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        list.add("111");
        list.add("222");
       //list2.add("333");
       // list2.add("444");
        mySpinner = (Spinner)findViewById(R.id.type);
        mySpinner2 = (Spinner)findViewById(R.id.jcq_address);
        adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, list);
        adapter2 = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, list2);
    
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        //第四步:将适配器添加到下拉列表上
        mySpinner.setAdapter(adapter);
        mySpinner2.setAdapter(adapter2);
        System.out.println("下拉列表执行!!");        //第五步:为下拉列表设置各种事件的响应,这个事响应菜单被选中
        mySpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){
            public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                if (adapter.getItem(arg2).toString()=="111"){
                    findViewById(R.id.jcqxml).setVisibility(View.VISIBLE);
                    //通过id查找相应控件
                    jjno=(EditText)findViewById(R.id.jcq_jjno);
                    jcq_name=(EditText) findViewById(R.id.jcq_name);
                    jcq_address=(Spinner)findViewById(R.id.jcq_address);
                    jcq_mj=(EditText)findViewById(R.id.jcq_mj);
                    jcq_back=(EditText)findViewById(R.id.jcq_back);                   new Thread(){
                        public void run(){
                             result=HttpServlet.queryJCQ();
                            //System.out.println(result);
                            try{
                                JSONArray jsonArray = new JSONArray(result);
                                for (int i =0;i<jsonArray.length();i++){
                                    JSONObject jo = jsonArray.getJSONObject(i);
                                    if (jo != null) {
                                        String  sfdd = jo.optString("afdd");
                                        list2.add(sfdd);
                                    }
                                }
                            }catch (JSONException e){
                            }                        }
                    }.start();下拉列表2有数据,但是选中之后在下拉框上没有选中的内容   如果把list2写死就可以正常用了

解决方案 »

  1.   

    你这是异步获取网络数据啊亲,数据源改变,adapter又不会自动刷新,在你获取到数据后要记得调用notifyDataSetChanged()刷新啊,你写死相当于在你setadapter之前就有数据了,你set之后当然就能展示了.而你获取网络数据是在你setadapter之后
      

  2.   

    notifyDataSetChanged()怎么调用啊 ,android 没学过
      

  3.   

    adapter自带的方法,activity里面使用是新建一个adapter对象,之后adapter.notifyDataSetChanged();  自定义的adapter的类的内部调用是直接notifyDataSetChanged();
      

  4.   

    adapter自带的方法,activity里面使用是新建一个adapter对象,之后adapter.notifyDataSetChanged();  自定义的adapter的类的内部调用是直接notifyDataSetChanged();
    调用adapter.notifyDataSetChanged();   在下拉框还是出不来选中的数据啊 
      

  5.   

    adapter自带的方法,activity里面使用是新建一个adapter对象,之后adapter.notifyDataSetChanged();  自定义的adapter的类的内部调用是直接notifyDataSetChanged();
    调用adapter.notifyDataSetChanged();   在下拉框还是出不来选中的数据啊 

    把相关代码帖全一点我帮你测试下