connot resolve constructor 'Arrayadapter()'记录这个问题主要是提醒自己不要马虎。

 原出错代码

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item,arrwarehouse2);//建立Adapter并绑定数据源

修改后

ArrayAdapter<String> adapter = new ArrayAdapter<String>(InterfaceActivity.this, android.R.layout.simple_spinner_dropdown_item,arrwarehouse2);//建立Adapter并绑定数据源

将第一个代码段中的this改为你的ActivityName.this,或者在文件头部定义context,将this改成context

private Context context;
  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_interface_out);
        
        context = this;//代表当前页面InterfaceActivityOut.this

         Thread desthread = new Thread(new Runnable() {
            @Override
            public void run() {
                if(SqlServerDB.getInstance() == null){
                    Looper.prepare();
                    Toast.makeText(context,"数据库连接失败",Toast.LENGTH_SHORT).show();
                    Looper.loop();
                }else {
                    String sql = "SELECT Destination FROM ItemDestination";
                    ResultSet rs = SqlServerDB.getInstance().executeQuery(sql);
                    try {
                        while (rs.next()) {
                            arrayDestination = rs.getString("Destination");
                            arr.add(arrayDestination);
                        }
                    } catch (Exception e) {
                        Log.e(TAG, "从数据库中获取数据错误");
                    }
                    handler.post(new Runnable() {
                        @Override
                        public void run() {
                            //设置下拉
                            spinner =(Spinner)findViewById(R.id.interface_out_spinner);//初始化组件
//String[] arrwarehouse = getResources().getStringArray(R.array.interface_array);//从本地中获取数据源
                            String [] arrwarehouse2=arr.toArray(newString[arr.size()]);//将数据库中获得的值转换成String[]类型
                            ArrayAdapter<String> adapter = new ArrayAdapter<String>(context, android.R.layout.simple_spinner_dropdown_item,arrwarehouse2);//建立Adapter并绑定数据源
//第一个参数是在哪个activity上显示,第二个参数是系统输入框样式,第三个参数是数组
                            spinner.setAdapter(adapter);//绑定Adapter到控件
                        }
                    });
                }
            }
        });
        desthread.start();

}

参考:java - 无法解析构造函数 ArrayAdapter - Stack Overflow

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐