我正在尝试创建应用程序的第一页,在选择了来自第一个微调器的元素之后,将显示第二个微调器,并根据第一个微调器的选定元素填充一个数组。我已经找到了有关toArray()的信息,但是我需要一个解释。到目前为止,这是完成的操作。
package com.example.app;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends Activity implements OnItemSelectedListener{
Spinner state_dropdown, city_dc_dropdown, city_md_dropdown, city_va_dropdown, city_ny_dropdown, category_dropdown;
Button search_button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
state_dropdown = (Spinner)findViewById(R.id.state);
city_dc_dropdown = (Spinner)findViewById(R.id.dc_city);
city_md_dropdown = (Spinner)findViewById(R.id.city_md);
city_va_dropdown = (Spinner)findViewById(R.id.city_va);
category_dropdown = (Spinner)findViewById(R.id.category);
search_button = (Button)findViewById(R.id.search);
state_dropdown.setOnItemClickListener(this);
}
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
String state_selected = String.valueOf(state_dropdown.getSelectedItem());
Toast.makeText(this, state_selected, Toast.LENGTH_LONG).show();
if(state_selected.contentEquals("DC")){
List list = new ArrayList();
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
我因为困惑而停在List上。
String[] array_name= getResources().getStringArray(R.array.your_array);
ArrayList<String> namesList= new ArrayList<String>(Arrays.asList(array_name)));
并且当您选择正确的项目时,将填充微调器:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.your_l, namesList); yourSpinner.setAdapter(adapter);
在从资源创建方法期间插入了数组数据,在单击时,您要做的就是将单击的内容的字符串值分配给预定义的字符串变量。