我正在尝试制作一个完全自定义的微调器。我在制作按下时弹出的布局时遇到了困难。这是我的适配器代码:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.my_array, R.layout.spinnertext);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
根据我在文档中阅读的内容,布局使用了由以下行设置的内容:
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
虽然每次我将它更改为我制作的新布局时,它都会在我尝试使用微调器时使应用程序失败。我试图寻找“android.R.simple_spinner_dropdown_item”的样子,以便弄清楚我是否遗漏了什么。
我尝试过的所有布局都是线性或相对布局,只有一个 textView。
如何在选择微调器时弹出自定义布局?
最佳答案
row.xml 设置每一行的布局(在本例中:每行一个图像和文本):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon"/>
<TextView
android:id="@+id/weekofday"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
Java:
public class AndroidCustomSpinner extends Activity {
String[] DayOfWeek = {"Sunday", "Monday", "Tuesday",
"Wednesday", "Thursday", "Friday", "Saturday"};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Spinner mySpinner = (Spinner)findViewById(R.id.spinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.row, R.id.weekofday, DayOfWeek);
mySpinner.setAdapter(adapter);
}
}
关于Android:自定义微调器布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8946893/