Android:自定义微调器布局

Fly*_*ynn 12 android android-layout

我正在尝试制作一个完全自定义的微调器.我在按下它时弹出布局时遇到了困难.这是我的适配器的代码:

    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);
Run Code Online (Sandbox Code Playgroud)

根据我在文档中看到的内容,布局使用了由行设置的apears:

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Run Code Online (Sandbox Code Playgroud)

虽然每次我将其更改为我制作的新布局时,当我尝试使用微调器时,它会使应用程序失败.我试图寻找"android.R.simple_spinner_dropdown_item"的样子,以便弄清楚我是否可能遗漏任何东西.

我尝试过的所有布局都是线性或相对布局,只有textView.

如何在选择微调器时弹出自定义布局?

Pre*_*exx 23

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>
Run Code Online (Sandbox Code Playgroud)

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);
   }
}
Run Code Online (Sandbox Code Playgroud)

  • 链接坏了吗?我看不到教程. (2认同)