1

这一定是一个我可能再次忽略的简单问题。这是我的问题我的 string.xml 上有一个字符串数组

<string-array name="country_array">
    <item>Alabama</item>
    <item>Florida</item>
    <item>Los Angeles</item>
    <item>Virginia</item>
    <item>California</item>
    <item>Texas</item>
    <item>Hawaii</item>
    <item>Miami</item>
    <item>New Jersey</item>
    <item>Boston</item>
    <item>Philadelphia</item>
    <item>VaChina</item>
 </string-array>

所以现在我正在调用我的主要活动并将其放在我的微调器上

selectedCountry = (EditText) findViewById(R.id.etCity);
    //get the spinner from resource
    Spinner spinner = (Spinner) findViewById(R.id.spinnerCountry);

    //then defining ArrayAdapter using country_array
    ArrayAdapter<CharSequence> adapter =ArrayAdapter.createFromResource(this, R.array.country_array,
            android.R.layout.simple_spinner_item);
    //set the appearance of widget items that show when open the widget
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    //set the adapter to spinner
    spinner.setAdapter(adapter);
    //set the action listener
    spinner.setOnItemSelectedListener(listener);

现在在我的微调器的 onclicklistener 上,这是我的代码

View.OnClickListener selectCountry = new View.OnClickListener() {
         public void onClick(View v) {
             Spinner spinner = (Spinner) findViewById(R.id.spinnerCountry);
             spinner.performClick();
         }  
    };

    private OnItemSelectedListener listener =new OnItemSelectedListener() {
        //do what ever you want to do when item selected
        public void onItemSelected(AdapterView<?> parent, View view, int pos,
                long id) {
            //i get the item using selected item position and set it into selectedCountry
            selectedCountry.setText(parent.getItemAtPosition(pos).toString());          
        }

        public void onNothingSelected(AdapterView<?> parent) {

        }

    };

一切正常,直到我发现我的 selectedCountry 文本是我数组中的第一项。无论如何我可以在我的edittext上添加一个默认值吗?

4

1 回答 1

1

请在您的字符串数组中添加“选择国家”作为第一项。

喜欢

<string-array name="country_array">
    <item>Select Country</item>
    <item>Alabama</item>
    <item>Florida</item>
    <item>Los Angeles</item>
    <item>Virginia</item>
    <item>California</item>
    <item>Texas</item>
    <item>Hawaii</item>
    <item>Miami</item>
    <item>New Jersey</item>
    <item>Boston</item>
    <item>Philadelphia</item>
    <item>VaChina</item>
 </string-array>

然后

在 onItemSelected() 中添加以下代码

public void onItemSelected(AdapterView<?> adapterView, View view,int position, long arg3) 
{
    if(!spinner.getSelectedItem().toString().equalsIgnoreCase("Select Country"))
    {
          selectedCountry.setText(spinner.getSelectedItem().toString());  
    }
}
于 2012-08-17T09:44:52.763 回答