【发布时间】:2018-08-29 15:14:28
【问题描述】:
我正在尝试将我的员工姓名从我的 SQL 加载到我的微调器,但这是我得到的:
如您所见,我的应用程序目录正在加载,我不知道为什么。
我的活动:
public class AddAbsenceForm extends Activity implements OnItemSelectedListener {
Spinner spinner;
Button buttonAdd;
public void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.add_absence_form);
//spinner element
spinner = (Spinner) findViewById(R.id.names_spinner);
//spinner click listener
spinner.setOnItemSelectedListener(this);
//loading spinner data from database
loadSpinnerData();
}
private void loadSpinnerData() {
//database handler
LysandrosDatabaseAdapter db = new LysandrosDatabaseAdapter(getApplicationContext());
//spinner drop down elements
List<DataBean> list = db.getAllDat();
//creating adapter for spinner
ArrayAdapter<DataBean > dataAdapter = new ArrayAdapter<DataBean>(this, android.R.layout.simple_spinner_dropdown_item, list);
//drop down layout style - list view with radio button
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//attaching data adapter to spinner
spinner.setAdapter(dataAdapter);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// On selecting a spinner item
String list = parent.getItemAtPosition(position).toString();
//showing selected spinner item
Toast.makeText(parent.getContext(), "You selected: " + list, Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}
数据库方法:
public List <DataBean> getAllDat(){
List<DataBean> list = new ArrayList<>();
SQLiteDatabase db = helper.getReadableDatabase();
String [] columns = {LysandrosHelper.UID, LysandrosHelper.NAME, LysandrosHelper.SURNAME, LysandrosHelper.DEPARTMENT, LysandrosHelper.WORKPLACE};
Cursor cursor = db.query(LysandrosHelper.TABLE_NAME, columns, null, null, null, null, null);
while (cursor.moveToNext()) {
int index = cursor.getColumnIndex(LysandrosHelper.UID);
int index2 = cursor.getColumnIndex(LysandrosHelper.NAME);
int index3 = cursor.getColumnIndex(LysandrosHelper.SURNAME);
int index4 = cursor.getColumnIndex(LysandrosHelper.DEPARTMENT);
int index5 = cursor.getColumnIndex(LysandrosHelper.WORKPLACE);
int cid = cursor.getInt(index);
String persoName = cursor.getString(index2);
String personSurname = cursor.getString(index3);
String personDepartment = cursor.getString(index4);
String personWorkplace = cursor.getString(index5);
DataBean bean = new DataBean(cid, persoName, personSurname, personDepartment, personWorkplace);
list.add(bean);
}
return list;
}
XML 中的微调器:
<Spinner
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/names_spinner"
android:text="@string/select_employee">
</Spinner>
请有人告诉我我错过了什么
编辑:
我的 DataBean 类:
public class DataBean {
protected int id;
protected String name;
protected String surname;
protected String department;
protected String workplace;
public DataBean() {
}
public DataBean (int id, String name, String surname, String department, String workplace ) {
this.id = id;
this.name = name;
this.surname = surname;
this.department = department;
this.workplace = workplace;
}
public DataBean (String name, String surname, String department, String workplace) {
this.name = name;
this.surname = surname;
this.department = department;
this.workplace = workplace;
}
public int getID() {
return this.id;
}
public String getName() {
return this. name;
}
public String getSurname() {
return this.surname;
}
public String getDepartment() {
return this.department;
}
public String getWorkplace() {
return this.workplace;
}
}
【问题讨论】:
-
去
custom adapter,因为你的list不是string array它的custom list -
你能再解释一下吗?我是新人
-
请发布您的 DataBean 类