2016-04-29 63 views
0

我有的程序创建一个像这样的微调:在我的代码我也用它使用XML样式创建微调,使设定Android的风格,以编程方式创建微调

spinnerLogger = new Spinner(context); 
    spinnerLogger.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 
    SpinnerAdapter spinnerAdapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, spinnerNames); 
    spinnerLogger.setAdapter(spinnerAdapter); 

确保用户了解他们是纺纱厂:

​​

我想将Widget.AppCompat.Spinner.Underlined样式应用到编程方式创建的微调,但似乎无法找到我怎么能做到这一点。

我试图通过创建仅包含有合适的款式一个微调的XML(XML的名字spinner_underlined并且它位于布局文件夹):

<?xml version="1.0" encoding="utf-8"?> 
    <Spinner android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/spinner" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    style="@style/Widget.AppCompat.Spinner.Underlined"/> 

当我尝试使用应用此

SpinnerAdapter spinnerAdapter = new ArrayAdapter<>(context, android.R.layout.spinner_underlined, spinnerNames); 

它给了我一个cannot resolve symbol 'spinner_underlined'错误

+0

你真的有一个名为'spinner_underlined'的xml布局吗?可能位于你的布局文件夹中?如果是这样,请尝试在那里删除'android.'。 –

+0

什么是android.R.layout.spinner_underlined你有这个PLZ的任何参考解释它。我想你从来没有在style.xml中定义spinner_underlined风格? – Nowshad

+0

编辑我的帖子。 – dec0yable

回答

0

您需要更改为R.layout....android.R.layout....

+0

我在哪里设置?因为它要求在适配器中使用类型布局 – dec0yable

+0

@ dec0yable你不知道为什么'ArrayAdapter'正在寻找布局参数吗? –

+0

对不起,我更新了答案,我无法在android库上找到spinner_underlined布局。我认为这是你的布局。你应该将你的R.java导入到类文件 – phongvan