我有2個微調。我從數據庫加載微調數據。當我在第一個微調器中選擇任何項目時,根據該項目,第二微調器應該加載相應的數據。例如,如果在第一微調器中選擇蔬菜,則只有蔬菜名稱應該進入第二,如果在1st中選擇水果,然後水果名稱應該排在第二位。如何將第一個微調器中的選定項傳遞給我的Customized微調器類? 我試圖通過這個項目,但它在第二個微調的每一行給我空白。 這裏是我的代碼android中的自定義微調錯誤
// Spinner click listener
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> paramAdapterView,
View paramView, int paramInt, long paramLong) {
// TODO Auto-generated method stub
label = paramAdapterView.getItemAtPosition(paramInt)
.toString();
deviceID = paramInt;
loadSpinnerData1(label);
}
private void loadSpinnerData1(String type) {
// database handler
DatabaseHandler db = new DatabaseHandler(getApplicationContext());
//getting the spinner item depending on what item selected in 1st spinner
List<String> manuft = db.getAllManuft(type);
spinner1.setAdapter(new MyAdapter1(OptionsActivity.this, R.layout.row, manuft,type));
}
我定製微調類
public class MyAdapter1 extends ArrayAdapter<String>{
public MyAdapter1(Context context, int textViewResourceId, List<String> manuft, String type) {
super(context, textViewResourceId, manuft);
}
@Override
public View getDropDownView(int position, View convertView,ViewGroup parent) {
return getCustomView(position, convertView, parent, label);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return getCustomView(position, convertView, parent, label);
}
public View getCustomView(int position, View convertView, ViewGroup parent, String type) {
DatabaseHandler db = new DatabaseHandler(getApplicationContext());
List<String> manuft = db.getAllManuft(type);
LayoutInflater inflater=getLayoutInflater();
View row=inflater.inflate(R.layout.row, parent, false);
TextView label=(TextView)row.findViewById(R.id.device);
for(int i=0;i<manuft.size();i++){
label.setText(manuft.get(position));
}
return row;
}
}
在'db.getAllManuft(類型)請告訴我有;'?我的意思是它返回的是什麼。你有沒有試過看這個函數的響應。 –
是的,它正確返回。併爲每個項目創建行,但該項目名稱未顯示。 –
@ Brinda-user1594986發佈完整的錯誤logcat。 –