我想要做的是以下,我有一個ArrayList<String>
我填充數據,然後我有一個String[]
,我用來顯示我的微調上的文本,所以我想把我的數據ArrayList
裏面,以取代默認情況下,但沒有任何反應。如何將ArrayList <String>傳遞給String []並在Spinner中顯示值?
當我試圖不Arrays.toString顯示它(),它給了我下面的:
[Ljava.lang.string;@e4b348
但隨着arrays.tostring()我得到了我想要的東西。
那麼如何在我的字符串[]中傳遞我的數據ArrayList以將其顯示在微調器上?
這裏是我的代碼:
String prestationuserlist;
ArrayList<String> textfordropdown2 = new ArrayList<>();
String[] textfordropdown = {"test", "test", "test","test", "test", "test","test", "test", "test","test", "test", "test","test", "test", "test","test", "test", "test"};
String[] valueofdropdowtext = {"test", "test", "test"};
Spinner spinnerdynamic;
for(int i=0;i<arrSize;i++) {
object = prestationlist.getJSONObject(i);
// Here, we populate the array with value of json, each text and db value
textfordropdown2.add(object.getString("Text"));
valueofdropdown.add(object.getString("Value"));
valueofdropdowtext = valueofdropdown.toArray(new String[0]);
textfordropdown = textfordropdown2.toArray(new String [textfordropdown2.size()]);
}
我的微調:
//Start Create a spinner with different view and value.
spinnerdynamic = (Spinner)findViewById(R.id.dynamic_spinner);
ArrayAdapter<String> adapter1 =
new ArrayAdapter<String>(MainActivity.this,
android.R.layout.simple_spinner_item, textfordropdown);// Here we set the text with API return value.
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);// Here we create a dropdown list item.
spinnerdynamic.setAdapter(adapter1);
spinnerdynamic.setOnItemSelectedListener(onItemSelectedListener1); // Here we call the function which is getting the value according to selected text.
//End Create a spinner with different view and value.
這裏是OnItemSelectedListener:
OnItemSelectedListener onItemSelectedListener1 =
new OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
prestationuserlist = valueofdropdowtext[position];
test = textfordropdown[position];
}
@Override
public void onNothingSelected(AdapterView<?> parent) {}
};
感謝您的幫助!
您面臨的問題是什麼?你的問題不清楚。 – gprathour
問題是我的值「test」沒有被ArrayList的值替換textfordforddown2 –
爲什麼不直接將'ArrayList'傳遞給Adapter?爲什麼你需要更換它? –
gprathour