[英]Spinner values from Database Gives error
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.