我想通过从微调框中选择一个国家来填充城市。它应该根据第一个微调者的选择填充第二微调器的内容。我的strings.xml和MainActivity.java文件是这样的:Android从另一个微调器填充微调内容
的strings.xml
<!-- Countries -->
<string-array name="country_names">
<item>Turkey</item>
<item>Spain</item>
</string-array>
<!-- Cities -->
<string-array name="Turkey">
<item>Istanbul</item>
<item>Adana</item>
</string-array>
<string-array name="Spain">
<item>Madrid</item>
<item>Barcelona</item>
</string-array>
MainActivity.java
citySpinner = (Spinner) findViewById(R.id.input_city);
countrySpinner = (Spinner) findViewById(R.id.input_country);
countryAdapter = ArrayAdapter.createFromResource(this,R.array.country_names,android.R.layout.simple_spinner_item);
countryAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
final String[] country = new String[1];
countrySpinner.setAdapter(countryAdapter);
countrySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l)
{
country[0] = adapterView.getItemAtPosition(i).toString();
Toast.makeText(mContext, adapterView.getItemAtPosition(i) + " selected", Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> adapterView)
{
}
});
cityAdapter = ArrayAdapter.createFromResource(this,R.array.Turkey,android.R.layout.simple_spinner_item);
cityAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
citySpinner.setAdapter(cityAdapter);
我需要给cityAdapter = ArrayAdapter.createFromResource(...)
线内的变量,而不是书写的土耳其或任何国家的名称。
我不能拿出任何东西在网络有用的,这是我最后的希望:)
它给出了错误** java.lang.NullPointerException:尝试调用虚拟方法'void android.widget.ArrayAdapter.setDropDownViewResource(int)'对null行对象'cityAdapter.setDropDownViewResource(android.R。 ' –
我编辑它现在尝试 –
仍然得到相同的错误 –