标签: android-spinner

所选项目不会在微调器上显示

我有一个微调器,我已经为微调器添加了一个自定义样式.问题是当我选择一个它没有出现在微调器上的项目但是当我使用android微调器样式时它会显示我在微调器上选择的内容.是否还有其他编码可以使其正常工作?否则旋转器的旋转工作.我在微调器中选择一个项目以显示文本时编写了应用程序.这些东西都有用.但它没有显示我选择的内容.

这是我的代码

MyAdapter  dataAdapter3 = new MyAdapter(this, R.layout.spinner, list3);
spinner1.setAdapter(dataAdapter3);
Run Code Online (Sandbox Code Playgroud)

列表3引用列表

List<String> list3 = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)

这是自定义微调器样式的类

public class MyAdapter extends ArrayAdapter<String>
    {
      private List<String> listString = new ArrayList<String>();

      public MyAdapter(Context context, int textViewResourceId, List<String> objects) {
        super(context, textViewResourceId, objects);

      this.listString  = objects;
      }

      @Override
      public View getDropDownView(int position, View convertView,ViewGroup parent) {
            return getCustomView(position, convertView, parent);
      }

      @Override
      public View getView(int position, View convertView, ViewGroup parent) {
            return getCustomView(position, convertView, parent);
      }

      public View getCustomView(int position, View convertView, ViewGroup …
Run Code Online (Sandbox Code Playgroud)

java android android-spinner

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

Android:如何禁用微调器禁用外观

可能的副本如何使Spinner的"禁用"状态看起来被禁用?.

我尝试了帖子中提到的解决方案,即

((Spinner) spinner).getSelectedView().setEnabled(false);
spinner.setEnabled(false);
Run Code Online (Sandbox Code Playgroud)

但是getSelectedView()返回null.我也尝试手动选择一个项目而不是调用getSelectedView但它仍然返回null.

android android-widget android-spinner

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

从微调器中删除文本

我正在尝试设计一个微调器.我现在拥有的是这个屏幕截图1

这是EditText其次Spinner.


现在我使用自定义样式如下 画面2

它也包含一个EditText后跟Spinner但是Spinner有一些文本(在本例中为"Other"),它是项目名称1.

如何删除该文本,即不应显示所选项目内容Spinner.
Spinner没有任何textSize属性,否则我会将其设置为0.

我从几小时开始尝试这个但没有解决方案.
任何帮助赞赏.

android android-layout android-spinner

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

ActionBar中的微调器不会出现

我已经像这里一样实现了微调器.现在我想将微调器放在ActionBar中(将微调器设置为CustomView到actionBar)但它不会出现在那里:(

Spinner spinner = (Spinner) findViewById(R.id.planets_spinner);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
                R.array.planets_array, android.R.layout.simple_spinner_item);

        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

        spinner.setAdapter(adapter);

        actionBar.setCustomView(spinner);
Run Code Online (Sandbox Code Playgroud)

这是.XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:baselineAligned="false"
    android:orientation="vertical" >

    <FrameLayout
        android:id="@+id/parkfragment"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

    <Spinner
        android:id="@+id/planets_spinner"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

请不要建议使用ActionBar DropDown List,我不能使用它,因为我已经在使用ActionBar Tabs了.android不允许同时使用它们.任何帮助将不胜感激

android android-layout android-spinner android-actionbar

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

当我在ActionBar中创建导航下拉列表时,为什么文本是黑色而不是白色?

注意:这是我的第一个Android应用程序,我不知道我在做什么.指导我到文档而不解释我应该寻找的内容将没有用,因为我已经尝试阅读文档并且还没有理解它.

我在ActionBar中创建一个导航下拉列表,文本是黑色而不是白色(就像我的ActionBar中的其他文本一样).我认为这是因为我在ArrayAdapter中使用了错误的东西,但其他任何值都没有效果.以下是我用来创建下拉列表的代码.

//NOTE: folders will be created at runtime from data fetched from a web service,
//these values are just test data to get the feature working
folders = new ArrayList<String>(Arrays.asList("All Folders", "comics"));
final ArrayAdapter<String> aa = new ArrayAdapter<String>(
    this,
    android.R.layout.simple_list_item_1,
    folders
);

final ActionBar bar = getActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
bar.setListNavigationCallbacks(aa, new ActionBar.OnNavigationListener() {
    public boolean onNavigationItemSelected(int itemPosition, long itemId) {
        final Context c = getApplicationContext();
        Toast.makeText(c, folders.get(itemPosition), Toast.LENGTH_SHORT).show();
        return true;
    }
});
Run Code Online (Sandbox Code Playgroud)

我所看到的例子:

在灰色背景的黑文本

我想了解为什么文本是错误的颜色,并希望如何使用正确的颜色创建它.我不想自定义颜色(就像我发现的很多问题一样),我只是希望它以与ActionBar中其他东西相同的样式创建.

这是styles.xml文件:

<resources>

    <!--
        Base application theme, …
Run Code Online (Sandbox Code Playgroud)

android android-spinner android-actionbar

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

如何按值设置Spinner的选定项目,而不是按位置设置

<item value="245">Guinea-Bissau [245]</item >
<item value="592">Guyana [592]</item >
<item value="509">Haiti  [509]</item >
<item value="504">Honduras [504]</item >
<item value="91">India [91]</item >
<item value="62">Indonesia [62]</item >
Run Code Online (Sandbox Code Playgroud)

我正在使用这个

country.setOnItemSelectedListener(new OnItemSelectedListener() {

    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

        // TODO Auto-generated method stub
        //selectioncountry = parent.getItemAtPosition(position).toString();
        selectionarea = parent.getItemIdAtPosition(position);
    }

    @Override
    public void onNothingSelected(AdapterView<?> arg0) {

        // TODO Auto-generated method stub          
    }
});
Run Code Online (Sandbox Code Playgroud)

这个代码给印度的价值是4但我需要91我怎么能这样做???

xml android android-spinner

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

如何将微调器中的第一个值(默认值)设置为空

如何将微调器中的第一个值(默认值)设置为空.意味着,直到用户从列表中选择值,微调器才会没有值.我在下面试过

list.add(""); 
Run Code Online (Sandbox Code Playgroud)

但是,它不会起作用.以下是我的代码:

if(values.contains("options")){
       spinner.setOnItemSelectedListener(MyClass.this);
       List<String> list = new ArrayList<String>();
       list.add("");
       list.add("Test");
       list.add("Working");
       ArrayAdapter<String> adapter = new ArrayAdapter<String>(mContext, android.R.layout.simple_spinner_item, list) {};

      adapter.setDropDownViewResource(R.layout.custom_spinner_list);
      spinner.setAdapter(adapter);     
   }
 }
Run Code Online (Sandbox Code Playgroud)

android default-value android-spinner dropdown

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

在Android中创建动态Spinner

我想创造三个微调器.在第一个Spinner中,我必须显示国家名称,并根据国家名称的选择,我必须在第二个Spinner中加载该国家的州名称,并根据州的选择,我必须在Third Spinner中加载该州的城市名称.任何人都可以发布任何示例,并建议哪种技术更好地定义Java或Xml中的微调数据.

ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_spinner_item, locations);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(dataAdapter);
Run Code Online (Sandbox Code Playgroud)

android android-spinner android-studio

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

使用翻新功能动态填充微调器?

在这里寻找的是需要填充spinner,这是rest服务使用Retrofit的json响应。经过长期的研究,我找不到任何样本,可以根据这个共享任何样本,这对我非常有用,谢谢!

android android-spinner retrofit

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

可搜索微调器与Realm结合

我已经在我的项目中实现了SearchableSpinner。在里面Fragment

我正在Realm用作数据库。用我的onCreateView方法我有这个...

@Override
public View onCreateView(LayoutInflater inflater, final ViewGroup container, Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.ncrdocument, container, false);
    realm = Realm.getDefaultInstance();
    documents = new ArrayList<>();
    documents = realm.where(MaterialDoc.class).findAll();
    ArrayAdapter<MaterialDoc> adapter = new ArrayAdapter<>(this.getContext(), android.R.layout.simple_list_item_1, documents);
    matList.setAdapter(adapter);
.
.
.
return view;
Run Code Online (Sandbox Code Playgroud)

数据加载正常,可以正确显示它们,但是当我尝试搜索微调器时,我的应用程序崩溃了,并且出现了此错误。

An exception occured during performFiltering()
java.lang.IllegalStateException: Realm access from incorrect thread. Realm objects can only be accessed on the thread they were created
at io.realm.BaseRealm.checkIfValid(BaseRealm.java:383)
at io.realm.MaterialDocRealmProxy.realmGet$document_number(MaterialDocRealmProxy.java:126)
at com.my.application.test.Model.MaterialDoc.getDocumentNumber(MaterialDoc.java:29) …
Run Code Online (Sandbox Code Playgroud)

android realm android-spinner

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