我有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) 我可以通过这种方式让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) 您好我正在尝试添加左侧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(大约一年前播放,但没有任何结果)真的很新,在编程方面体面.想要确保手机上的应用呈现,没有功能性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) 我使用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) 旋转器提供两种状态.第一个和默认状态(状态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
我想让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
我想在不使用的情况下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)
我知道这段代码不会改变文字颜色.
我不知道该怎么做,请指导我这样做.
任何帮助都会很明显.
这有可能加载微调器中所有国家的列表,然后在选择特定国家时,其所有城市都出现在另一个微调器中,选择城市后,我们使用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)