标签: android-spinner

两个旋转器在一个活动中

我有2个旋转器.

这是我的活动

package com.example.belajarcombobox;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;


public class CreateComboBox extends Activity implements AdapterView.OnItemSelectedListener {

    TextView selection;
    TextView selection2;
    String[] countries = {"Amerika","Argentina","Brazil"};

    String[] city = {"London","Paris","Buenos Aires"};

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        selection = (TextView) findViewById(R.id.selection);
        Spinner spin = (Spinner) findViewById(R.id.spinner);
        ArrayAdapter<String> aa = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, countries);
        aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin.setAdapter(aa);
        spin.setOnItemSelectedListener(this);

        selection2 = (TextView) findViewById(R.id.selection2);
        Spinner spin2 = (Spinner) findViewById(R.id.spinner2);
        ArrayAdapter<String> bb = new …
Run Code Online (Sandbox Code Playgroud)

android android-spinner

7
推荐指数
2
解决办法
2万
查看次数

微调器的OnItemClickListener

我可以通过这种方式让Spinner进入行动吧; re/values/languages.xml中的项数组

 <string-array name="languages">
    <item>Finnish</item>
    <item>French</item>
    <item>German</item>
    <item>Slovakian</item>
    <item>Polish</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)

在res/menu/main.xml中

  <item
    android:id="@+id/menuSort"
    android:actionLayout="@layout/spinner"
    android:showAsAction="ifRoom"
    android:title="@string/choose"/>
Run Code Online (Sandbox Code Playgroud)

在res/layout/spinner.xml中

<Spinner
    android:id="@+id/spinner"
    android:layout_width="150dp"
    android:layout_height="wrap_content" 
    android:entries="@array/languages"/>
Run Code Online (Sandbox Code Playgroud)

最后活动课;

 public class Base_Activity extends Activity {

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    final Spinner spinner = new Spinner(this);
    Log.i("DEBUG1", "CHECKPOINT1");
    ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
            this, android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(spinnerArrayAdapter);
    Log.i("DEBUG2", "CHECKPOINT2");
    spinnerArrayAdapter.setDropDownViewResource(0);
    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {

               String items=spinner.getSelectedItem().toString();
               Log.i("Selected item : ",items);
        }

        @Override
        public …
Run Code Online (Sandbox Code Playgroud)

java xml android android-layout android-spinner

7
推荐指数
1
解决办法
3万
查看次数

如何在Android中的Spinner视图中添加左侧drawable

您好我正在尝试添加左侧drawable Spinner但我没有找到任何合适的,因为您在EditText使用时也这样做android:drawableLeft="@drawable/password_drawable".Spinner在Android中有没有正确的方法来实现相同的功能.

在我的情况下,应该只留下drawable只有我在截图中给出的状态,当用户点击Spinner时我不想在开放下拉列表中留下可绘制的 Spinner

我正在尝试这样没有这种属性的地方

<Spinner
    android:id="@+id/selectSpinner"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/sign_up_views_vertical_top_margin"
    android:background="@drawable/edittext_border"
     />
Run Code Online (Sandbox Code Playgroud)

我想要下面的截图

在此输入图像描述

目前看起来如下

在此输入图像描述

当我设置背景时,Spinner它看起来像

<Spinner
    android:id="@+id/selectSpinner"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/sign_up_views_vertical_top_margin"
    android:background="@drawable/selectone_drawable"
    android:entries="@array/select_type" />
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

提前致谢

android android-layout android-spinner

7
推荐指数
3
解决办法
2万
查看次数

如何自定义Spinner下拉视图

是否可以自定义微调器下拉视图.默认微调器下拉视图具有适配器视图.我希望更改该视图以拥有自己的文本视图或类似的东西.

android textview android-spinner

7
推荐指数
2
解决办法
1万
查看次数

在Spinner中使用字符串数组的NullPointerException

第一个应用程序,所以在android(大约一年前播放,但没有任何结果)真的很新,在编程方面体面.想要确保手机上的应用呈现,没有功能性atm.编译好,没有问题.把它推到我的手机上,"不幸的是,斯普利特已经停止了".

编辑 - 添加到MainActivity.java,编辑有*之前和之后(不在实际代码中),但现在它标记

adapter.setDropDownViewResource(android.R.layout.activity_main);
// Apply the adapter to the spinner
spinnerSplit.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)

说错误:(18,36)标识符

setDropDownViewResource,activity_main和setAdapter全部为红色

Android Studio
Moto G - CM11 4.4.4

这是代码,如果我遗漏了任何内容,请告诉我.

MainActivity.java

package com.hydr0dr4gon.splitrv2;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
*import android.widget.ArrayAdapter;
import android.widget.Spinner;*


public class MainActivity extends Activity {

    *Spinner spinnerSplit = (Spinner) findViewById(R.id.spinner);
// Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
        R.array.arraySplitr, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears …
Run Code Online (Sandbox Code Playgroud)

java android android-spinner android-resources

7
推荐指数
1
解决办法
2万
查看次数

如何在spinner android中删除默认值?

我使用JSON从数据库中获取值并将它们插入到微调器中.此过程成功运行.但是当我点击旋转器时,我收到了两次Spinner提示; 如何从微调器中删除第一个默认值...

这是快照: - 希望你理解我的问题:在此输入图像描述

这是我的代码: -

private class GetCategories extends AsyncTask<Void, Void, Void> {
    protected void onPreExecute() {
        super.onPreExecute();
    }

    @Override
    protected Void doInBackground(Void... arg0) {
        ServiceHandler jsonParser = new ServiceHandler();
        String json = jsonParser.makeServiceCall(URL_CATEGORIES,
                ServiceHandler.GET);
        if (json != null) {
            try {
                JSONObject jsonObj = new JSONObject(json);
                if (jsonObj != null) {
                    JSONArray categories = jsonObj
                            .getJSONArray("categories");
                    categoriesList.clear();
                    for (int i = 0; i < categories.length(); i++) {
                        JSONObject catObj = (JSONObject) categories.get(i);
                        Category cat = new Category( …
Run Code Online (Sandbox Code Playgroud)

android android-spinner

7
推荐指数
1
解决办法
3710
查看次数

定制微调器的间距

旋转器提供两种状态.第一个和默认状态(状态A)显示当前选定的值.第二个(状态B)显示触摸微调器显示时的下拉菜单.

状态A和B的例子

默认情况下,左填充被添加到在状态A和B中显示的项目我想删除它被显示在当前所选的值(状态A),但保留它当项目被显示在下拉菜单中(状态B) .

由于填充设置与CheckedTextView中创建微调时指定的布局中,我第一次尝试是传递给微调构造包含空填充一个CheckedTextView自定义布局.这样,左边的填充在状态A中消失,但也在状态B中消失.但是,我的目标是将其保留在状态A.

我的第二次尝试是在我的主题定义中自定义android:dropDownSpinnerStyle.由于更改android:dropDownSpinnerStyle的背景颜色仅更改状态A中项目的背景颜色,我的想法是用负值覆盖marginLeft或paddingLeft.不幸的是,它没有任何效果.

鉴于负边距/填充似乎没有被考虑在内,我尝试了相反的做法.首先,我使用了自定义项目布局(如我第一次尝试所述),以便删除两个状态(A和B)上的左边距.其次,我已经为属性android定义了一个自定义样式:dropDownListViewStyle.不幸的是,在最后一个属性中使用正的marginLeft值无效.因此,我设置了paddingLeft.它工作,并允许我只获得状态B的左边距.但是,左侧空间也适用于背景触摸颜色(参见下图).

在此输入图像描述

我认为如果我想要完全填充下拉菜单宽度的触摸背景颜色,则只应更改状态A的样式.任何想法,建议或例子都受到欢迎.

以下是我第三次尝试的主题定义:

<style name="Theme.App.Base" parent="Theme.App">
    ...
    <item name="android:dropDownListViewStyle">@style/Widget.Spinner.DropDown.ListView</item>
</style>

<style name="Widget.Spinner.DropDown.ListView" parent="Widget.AppCompat.ListView.DropDown">
    <item name="android:paddingLeft">16dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)

android android-appcompat android-layout android-spinner drop-down-menu

7
推荐指数
1
解决办法
1万
查看次数

样式TextView就像一个带有appcompat v21的Spinner

我想让TextView看起来像一个带有新材质样式的微调器.

我设法使用"Widget.Material.Light.Spinner"样式,但我在AppCompat(v21)资源中找不到任何替代方案.我的xml:

<TextView
        android:id="@+id/sp_league_list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        tools:text="Premier league"
        style="@android:style/Widget.Material.Light.Spinner"
        android:textColor="@android:color/white" />
Run Code Online (Sandbox Code Playgroud)

android textview android-appcompat android-spinner material-design

7
推荐指数
1
解决办法
8917
查看次数

如何在不使用textview的情况下更改微调器中的文本颜色

我想在不使用的情况下textView更改微调器的文本颜色,我已经搜索并找到了一些教程Android:Spinner小部件的文本颜色属性隐藏在哪里?

但最重要的是他们已经习惯了textView.

<Spinner 
     android:layout_height="wrap_content" 
     android:layout_width="0dp" 
     android:layout_weight="1" 
     android:entries="@array/Gender_Selection_arrays" 
     android:prompt="@string/Gender_Selection"
     android:id="@+id/gendersel"
     android:popupBackground="#67656c"/>
Run Code Online (Sandbox Code Playgroud)

我知道这段代码不会改变文字颜色.

我不知道该怎么做,请指导我这样做.

任何帮助都会很明显.

android android-layout android-spinner

7
推荐指数
1
解决办法
2万
查看次数

分别获取国家,城市及其地区/州/镇的列表

这有可能加载微调器中所有国家的列表,然后在选择特定国家时,其所有城市都出现在另一个微调器中,选择城市后,我们使用google在android中获取该城市的区域或城镇列表-api或类似国家/地区选择器的内容?目前,我正在使用它来获取国家列表。但是如何获得各自的城镇?

    ArrayList<String> list=new ArrayList<String>();
String[] locales = Locale.getISOCountries();
for (String countryCode : locales) {
    Locale obj = new Locale("", countryCode);
    list.add(obj.getDisplayCountry());
}
Run Code Online (Sandbox Code Playgroud)

android google-maps google-api android-spinner

7
推荐指数
1
解决办法
5791
查看次数