Articles of spinner

以编程方式创建一个微调器

我想在不使用xml的情况下创建一个微调器。 我是android新手,我的知识有限。 到现在为止,我有了这个代码(见上文),我希望我的微调器能够进入TabActivity的选项卡。 没有明显的错误,但是当我打开我的活动时,标签是空的。 我会感激一些帮助。 public class Search extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ArrayList spinnerArray = new ArrayList(); spinnerArray.add(“one”); spinnerArray.add(“two”); spinnerArray.add(“three”); spinnerArray.add(“four”); spinnerArray.add(“five”); Spinner spinner = new Spinner(this); ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, spinnerArray); spinner.setAdapter(spinnerArrayAdapter); }

Android微调器显示对象引用而不是字符串

好的,我的旋转器有问题。 它填充了从Web服务中提取的数据。 我遇到的问题是,当没有点击微调器而不是显示微调器中第一个项目的字符串时,它会显示一个对象引用。 我已经查看了相关的问题,但仍然看不到我缺少什么,是否像缺少toString参考一样简单? 这是填充微调器的代码 private void buildDrinkDropDown() { List apiParams = new ArrayList(1); apiParams.add(new BasicNameValuePair(“call”, “drinkList”)); bgt = new BackGroundTask(MAP_API_URL, “GET”, apiParams); try { JSONArray drinks = bgt.execute().get(); for (int i = 0; i < drinks.length(); i++) { JSONObject d = drinks.getJSONObject(i); String id = d.getString(TAG_ID_DRINK); String createdAt = d.getString(TAG_CREATED_AT); String updatedAt = d.getString(TAG_UPDATED_AT); […]

在没有自定义样式的Android Spinner中的项目之间添加更多空间?

我有一个Android应用程序,我正在为一家混凝土公司写作,它将用于进出时钟。 我已经使用了一些纺纱工人从下拉菜单中选择工作地点和工作,但我担心纺纱工具中的物品太靠近,员工难以选择合适的物品。 我想在微调器中的项目之间留出更多的空间,但是不想经历制作自定义样式的所有麻烦,因为我真的希望微调器的外观和行为与默认值完全相同只需要更多的填充,并且需要为此制作自定义样式需要做很多工作。 我可以进行任何简单的更改,比如设置微调器的某些属性吗? 我已经尝试将微调器types设置为Dialog,但它只显示具有相同间距的列表,只是没有附加到微调器控件。

Spinner中奇怪的NullPointerException

从Android 4.4 KitKat开始,我的应用程序出现了奇怪的崩溃。 它似乎与微调器有关。 这个我收到的bug的堆栈跟踪: java.lang.NullPointerException at android.widget.TextView.makeNewLayout(TextView.java:6124) at android.widget.TextView.onMeasure(TextView.java:6400) at android.view.View.measure(View.java:16458) at android.widget.Spinner.setUpChild(Spinner.java:632) at android.widget.Spinner.makeView(Spinner.java:595) at android.widget.Spinner.getBaseline(Spinner.java:431) at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1089) at android.widget.LinearLayout.onMeasure(LinearLayout.java:590) at android.view.View.measure(View.java:16458) at com.android.internal.widget.ActionBarView.onMeasure(ActionBarView.java:1011) at android.view.View.measure(View.java:16458) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at com.android.internal.widget.ActionBarContainer.onMeasure(ActionBarContainer.java:271) at android.view.View.measure(View.java:16458) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) at com.android.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:254) at android.view.View.measure(View.java:16458) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2289) at android.view.View.measure(View.java:16458) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1914) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1111) at […]

为spinner项设置onClickListener?

我有从数据库填充的微调器: catSpinner = (Spinner) findViewById(R.id.spinner1); cursor = dataAdapter.getAllCategory(); startManagingCursor(cursor); String[] from = new String[] { DataAdapter.CATEGORY_COL_NAME }; int[] to = new int[] { android.R.id.text1 }; SimpleCursorAdapter catAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_dropdown_item, cursor, from,to, 0); catAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); catAdapter.notifyDataSetChanged(); catSpinner.setAdapter(catAdapter); 当我选择最后一项( Add new category… )时,我想调用AlertDialog 。 添加新类别后,我希望“项目( Add new category… )”再次成为最后一个。 我怎么能这样做?

更改Spinner DropDown宽度

我需要调整此零件尺寸以完全显示。 我怎样才能做到这一点? 我的适配器: String[] navigations = getResources().getStringArray(R.array.actionBar); ArrayAdapter adapter = new ArrayAdapter( getBaseContext(), R.layout.custom_spinner_title_bar, android.R.id.text1, navigations); adapter.setDropDownViewResource(R.layout.custom_spinner_title_bar); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); actionBar.setListNavigationCallbacks(adapter, navigationListener); custom_spinner_title_bar.xml:

价值变化的微调

我的系统中有两个微调器。 现在我必须根据第一个微调器值更改第二个微调器的选定值。 一旦用户更改第一个微调器值,第二个微调器值将根据第一个微调器的选定值自动设置。 怎么实现这个?

Android Spinner使用ArrayList

到目前为止,我一直在使用来自XML字符串数组的微调器的值: Spinner karant_sp; karant_sp = (Spinner) findViewById(R.id.spinner1); ArrayAdapter karant_adapter = ArrayAdapter.createFromResource(this, R.array.karant_list, android.R.layout.simple_spinner_item); karant_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); karant_sp.setAdapter(karant_adapter); karant_sp.setSelection(0); karant_sp.setOnItemSelectedListener(new select_karant()); 我可以使用本地java ArrayList-String作为要在下拉菜单中显示的项目列表吗? 就像是: Spinner karant_sp; ArrayList return_likes = new ArrayList(); return_likes.add(“Hello”); return_likes.add(“world”); karant_sp = (Spinner) findViewById(R.id.spinner1); ArrayAdapter karant_adapter = ArrayAdapter.createFromResource(this, return_likes, android.R.layout.simple_spinner_item); karant_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); karant_sp.setAdapter(karant_adapter); karant_sp.setSelection(0); karant_sp.setOnItemSelectedListener(new select_karant()); 我知道上面的代码不起作用,但我想知道使用ArrayList-string工作的东西。

Android Spinner – onItemSelected / setOnItemSelectedListener未触发

这让我感到疯狂,因为这是我以前做过的事情,但无法弄清楚为什么它现在不起作用…… 我有一个菜单按钮,通过menu.xml文件以及带有开关的onOptionsItemSelected方法以通常的方式实现,创建并显示一个微调器。 我已经添加了setOnItemSelectedListener ,但它似乎永远不会触发。 微调器出现,我选择一个选项或退出,调用onItemSelected或onNothingSelected 。 这是菜单按钮处理开关语句的“case”和“return true”之间的所有代码。 ( topThis是一个引用活动上下文的variables – 适用于应用程序中的所有其他Toast) String[] widgetModes = {“Mode 1”, “Mode2”}; ArrayAdapter widgetModeAdapter = new ArrayAdapter (this, android.R.layout.simple_spinner_item, widgetModes); widgetModeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); Spinner widgetModeSpinner = new Spinner(this); widgetModeSpinner.setAdapter(widgetModeAdapter); widgetModeSpinner.setPrompt(“Choose Widget Mode”); widgetModeSpinner.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView parentView, View selectedItemView, int position, long id) { Toast.makeText(topThis, “derp”, Toast.LENGTH_LONG).show(); } […]

Android – 删除Spinner下拉箭头

我只是想知道是否可以简单地删除微调器的下拉箭头? 我在我的微调器的背景布局中有一个可绘制的箭头,但是系统默认箭头出现在微调器的右侧,我想摆脱它。 这是我的活动布局的微调器xml代码 我的自定义微调器布局如下所示: 谢谢!