我有一个微调器,我已经为微调器添加了一个自定义样式.问题是当我选择一个它没有出现在微调器上的项目但是当我使用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) 可能的副本如何使Spinner的"禁用"状态看起来被禁用?.
我尝试了帖子中提到的解决方案,即
((Spinner) spinner).getSelectedView().setEnabled(false);
spinner.setEnabled(false);
Run Code Online (Sandbox Code Playgroud)
但是getSelectedView()返回null.我也尝试手动选择一个项目而不是调用getSelectedView但它仍然返回null.
我正在尝试设计一个微调器.我现在拥有的是这个
这是EditText其次Spinner.
现在我使用自定义样式如下 
它也包含一个EditText后跟Spinner但是Spinner有一些文本(在本例中为"Other"),它是项目名称1.
如何删除该文本,即不应显示所选项目内容Spinner.Spinner没有任何textSize属性,否则我会将其设置为0.
我从几小时开始尝试这个但没有解决方案.
任何帮助赞赏.
我已经像这里一样实现了微调器.现在我想将微调器放在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应用程序,我不知道我在做什么.指导我到文档而不解释我应该寻找的内容将没有用,因为我已经尝试阅读文档并且还没有理解它.
我在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) <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我怎么能这样做???
如何将微调器中的第一个值(默认值)设置为空.意味着,直到用户从列表中选择值,微调器才会没有值.我在下面试过
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) 我想创造三个微调器.在第一个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) 在这里寻找的是需要填充spinner,这是rest服务使用Retrofit的json响应。经过长期的研究,我找不到任何样本,可以根据这个共享任何样本,这对我非常有用,谢谢!
我已经在我的项目中实现了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)