【问题标题】:Android: Custom Spinner LayoutAndroid:自定义微调器布局
【发布时间】:2014-09-09 17:14:14
【问题描述】:

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

    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。

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

【问题讨论】:

    标签: android android-layout


    【解决方案1】:

    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-er.blogspot.com/2010/12/custom-spinner-with-icon.html
    • 我还有一个问题,很抱歉把它留在 cmets 中,如果我们必须将不同的数据结构(例如列表而不是字符串数组)传递给适配器怎么办?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多