Reputation: 159
I am creating a spinner. The spinner shows the first row value as the default text. I want the Spinner's text to be blank initially.
I could add a new empty row with list.add(" ");
but I think that this approach looks ugly.
list.add("");//this make my ui ugly but with out this i can't make my spinner blank in starting.
list.add("1");//if i remove add("").then spinner take add("1") this should not happen
list.add("2");
How do I create a Spinner that initially doesn't display any text?
Update:
urineGlucoseSpinner = (Spinner) view.findViewById(R.id.spnner_urine_glucose);
ArrayList<String> ugList = new ArrayList<String>();
ugList.add("select");
ugList.add("1.5");
ugList.add("5.5");
ugList.add("0.8");
ugList.add("9.5");
ugList.add("12.0");
//ArrayAdapter<String> urineGlucoseAdapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_spinner_item, ugList);
ArrayAdapter<String> urineGlucoseAdapter = new ArrayAdapter<String>(getActivity(),R.layout.custom_spinner_text,ugList);
urineGlucoseAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
urineGlucoseSpinner.setAdapter(urineGlucoseAdapter);
urineGlucoseSpinner.setOnItemSelectedListener(new OnUGItemSelected());
Upvotes: 1
Views: 4356
Reputation: 172
Take image look like dropdown and put them in background of textview.
Textview gender=(Textview)findViewById(R.id.gender)
gender.setText("");
gender.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder conductor = new AlertDialog.Builder(
Calculator.this);
conductor.setTitle("Select Gender");
int resId = getResources().getIdentifier("gender_array",
"array", getPackageName());
conductor.setItems(resId,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int index) {
int resId1 = getResources().getIdentifier(
"gender_array", "array",
getPackageName());
gender.setText(getResources()
.getStringArray(resId1)[index]);
}
});
AlertDialog alert = conductor.create();
alert.show();
}
});
String.xml
<string-array name="gender_array">
<item>Male</item>
<item>Female</item>
</string-array>
Upvotes: 0
Reputation: 172
Write this code in oncreate method:
Spinner gender = (Spinner) findViewById(R.id.gender);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.gender_array,
android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
gender.setAdapter(adapter);
gender.setSelection(0);
and copy the below code and paste in string.xml
String.xml
<string-array name="gender_array">
<item> </item>
<item>Male</item>
<item>Female</item>
</string-array>
it will work properly.
Upvotes: 1
Reputation: 28093
You should include extra entry in adapter that represents "Select" or something , and make it the initial selected item in the Spinner.
OR may be you will have to create custom spinner or something which i am not sure of.
Upvotes: 0