java - 来自数据库的微调器值给出错误

标签 java android spinner simplecursoradapter

public class MainActivity extends AppCompatActivity {

    Cursor c;
    Button b1;
    EditText e1,e2,e3;
    Spinner s1,s2;
    SQLiteDatabase db;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Open_Helper helper=new Open_Helper(getApplicationContext());
        db=helper.getWritableDatabase();
        c=db.rawQuery("select mid as _id,* from menu",null);
        s1= (Spinner) findViewById(R.id.spinner3);
        SimpleCursorAdapter sr=new SimpleCursorAdapter(getApplicationContext(),R.layout.activity_main,c,new String[]{"_id","mname"},new int[]{R.id.spinner3,R.id.spinner4},0);
        sr.setDropDownViewResource(R.id.spinner3);
        s1.setAdapter(sr);

    }
}

错误是

java.lang.IllegalStateException: android.widget.Spinner is not a  view 
     that can be bounds by this SimpleCursorAdapter

最佳答案

您正在将 Spinner id 设置为 setDropDownViewResource。虽然它需要一个 layout ID

sr.setDropDownViewResource(R.id.spinner3);

改用这个:

sr.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

完整代码:

 String[] columns = new String[] { "_id","mname"};
int[] to = new int[] { R.id.spinner3,R.id.spinner4};

SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, c , columns, to);
mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner spinner = (Spinner) findViewById(R.id.spinner_id);
spinner.setAdapter(mAdapter);

关于java - 来自数据库的微调器值给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42666173/

相关文章:

android - 将 Material Top Tab Navigator 放置在自定义位置

javascript - 在 Phonegap 中加载通知

android - 在不删除默认下拉指示器图标的情况下设置 Spinner 背景颜色

java - 我如何与 mac 雪豹上的 java 更新作斗争

java - Glide 4 - 特定调用的 ResourceDecoder

java - 是否可以在 JavaFX 场景中显示 VolatileImage?

java - 在 Java 中,当你有一个未指定可见性关键字的方法时会发生什么?

java.sql.SQLException : could not use local transaction commit in a global transaction

android - 如何直接使用Twilio TURN server for Android (Server, Client)

batch-file - 如何为批处理文件中的等待进程编写微调器?