我有一个带有背景图的旋转器(spinner)。但是当我向旋转器添加数组适配器时,文字会显示在背景图上。我希望隐藏这个文字。同时,我还有一个TextView。我的需求是,当我点击图片时,旋转器应该弹出;当我选择一个项目后,TextView会更新为所选项目。
我有一个带有背景图的旋转器(spinner)。但是当我向旋转器添加数组适配器时,文字会显示在背景图上。我希望隐藏这个文字。同时,我还有一个TextView。我的需求是,当我点击图片时,旋转器应该弹出;当我选择一个项目后,TextView会更新为所选项目。
Spinner spin = (Spinner) d.findViewById(R.id.searchCriteria);
spin.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// hide selection text
((TextView)view).setText(null);
// if you want you can change background here
}
public void onNothingSelected(AdapterView<?> arg0) {}
});
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/transparent" />
ArrayAdapter<String> your_adapter = new ArrayAdapter<String>(this,
R.layout.ghost_text, your_list);
your_spinner.setAdapter(your_adapter);
你可以定义一个 XML 布局文件,其中不包含任何 TextView,并将其提供给 Spinner 的适配器。
例如:empty_spinner_item.xml
<ImageView xmlns:android="http..."
android:layout_width=".."
/>
然后使用任何适配器:
spinner.setAdapter(new SimpleAdapter(this, data, R.layout.empty_spinner_item, ... ));
tv.setText(StorageSpinner.getSelectedItem()+"");
}
public void onNothingSelected(AdapterView> arg0) {}
}); - indira