android – 具有长文本的Spinner无法正常工作

我对旋转器有一些问题.根据我的日期,我必须使用EditText或Spinner向TableRow添加TextView.我必须在Spinner中显示的数组有点长.我用带有短文本的数组测试了我的代码,它看起来像这样:

这里唯一的问题是spinner不是fill_parent.

如果我把我的数组放到spinner它看起来像这样:

在这种情况下,微调器看起来不像微调器,并且EditText不再可见.当我选择微调器时,会出现以下视图:

在这里,我需要显示数组的所有文本.
这是我的代码

TableRow.LayoutParams lp = new TableRow.LayoutParams(
            TableRow.LayoutParams.FILL_PARENT,TableRow.LayoutParams.WRAP_CONTENT);
tablerow_product[i] = new TableRow(viewToLoad.getContext());
tablerow_product[i].setLayoutParams(lp);

product_spinner[i] = new Spinner(viewToLoad.getContext());
product_spinner[i].setLayoutParams(lp);   product_spinner[i].setBackgroundResource(R.drawable.spinner_selector);
String[] proba={"red","blue"};  //first image is with this test array
ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(viewToLoad.getContext(),com.Orange.R.layout.my_spinner_textview,spinnerArray);                                     spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
product_spinner[i].setAdapter(spinnerArrayAdapter);
tablerow_product[i].addView(product_spinner[i]);                                            Themes_TableLayout.addView(tablerow_product[i],new TableLayout.LayoutParams(TableRow.LayoutParams.FILL_PARENT,TableRow.LayoutParams.WRAP_CONTENT));

和my_spinner_textview.xml:

ravity="left"
    android:singleLine="false"
    android:ellipsize="end"/>

任何人都可以帮我解决吗?欢迎任何想法.提前致谢.

最佳答案
对于我的问题我发现了这个解决方

Spinner language = (Spinner) findViewById(com.Orange.R.id.current_language_text);

ArrayAdapter adapter = new ArrayAdapter(this,languages);
adapter.setDropDownViewResource(com.Orange.R.layout.multiline_spinner_dropdown_item);
language.setAdapter(adapter);

其中languages是String []和my_spinner_textview.xml是:

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...