嗨,我有一个旋转器,我想改变它的条目.我在values文件夹中创建了一个数组.我知道我可以通过右键单击来编辑微调器的条目.但我想知道,如何使用代码更改微调器的条目.我希望有类似的东西spinner5.editEntries
有人可以帮忙吗?
如何从数组字符串[]填充微调器
例:
String [] items = new String [] {"uno","due","tre"};
sp =(Spinner)findViewById(R.id.spinner);
sp << --- ADD items Array
谢谢
马尔科
我有一个应用程序,用户按下按钮,弹出自定义微调器,以便用户可以选择九种颜色.当用户触摸背景时(除了旋转器之外的每个地方),我希望旋转器被解雇.这可能吗?
我试图在覆盖背景和调用的图像上添加onTouchListener
dialog.dismiss();
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我的微调器是自定义Spinner,在xml文件中设置并弹出:
final Dialog dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.colorchooser);
Run Code Online (Sandbox Code Playgroud)
先感谢您
我正在用微调器构建一个对话框.对话框完成后,它会使用字符串参数调用父活动的方法 - 参数是所选的字符串值.
我目前的方法:
我正在设置spinner的数组适配器,如下所示:
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item,
categoryNames);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mySpinner.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
categoryNames是一个字符串数组.对话框完成后,selected categoryName将用作父活动上方法调用的参数.
我真正想做的事情:
我真正想要的是显示一个Category对象列表.该Category班有2个属性- categoryId和categoryName.微调器仍然应该categoryName在下拉视图中显示s,但是当对话框完成后,它应该能够明确地告知Category选择了哪个,并使用categoryId所选类别调用父活动的回调方法.
可以有多个Category相同的categoryName.
问题:如何做到以上?
如何在Android上的微调器上放置图像图标请帮助我这是我的spiner代码如何在列表中的每个名称上添加图像?我想在微调器上的eact文本上显示图像
Spinner sp = (Spinner) findViewById(R.id.lgnspinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.network_array,
android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp.setAdapter(adapter);
sp.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (position == 0) {
// text}
if (position == 1) {
// text
}
if (position == 2)
{
// text
}
if (position == 3) {
// text
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
XML:
<Spinner
android:id="@+id/lgnspinner"
style="?android:attr/buttonStyleSmall"
android:layout_width="145dip"
android:layout_height="wrap_content"
android:prompt="@string/network_prompt"
android:textColor="#000000" />
<string-array name="network_array" >
<item>
GPRS
</item>
<item>
Wifi
</item> …Run Code Online (Sandbox Code Playgroud) 我有ArrayAdapter有spinner项的字符串
如何务实地改变代码
注意:我知道我应该覆盖并实现View ..等,但我需要更多细节:
Typeface font = Typeface.createFromAsset(getAssets(), "extrafine.ttf");
String array_spinner[];
array_spinner=new String[3];
array_spinner[0]="general";
array_spinner[1]="quisiton";
array_spinner[2]="suggsution";
final Spinner spinner = (Spinner) findViewById( R.id.spinner1 );
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item, array_spinner);
spinnerArrayAdapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
spinner.setAdapter(spinnerArrayAdapter);
Run Code Online (Sandbox Code Playgroud) 寻找定制我的微调器的方法,我听说http://android-holo-colors.com所以我去了那里并生成了一个微调器.当我下载zip时,它只包含一个没有布局文件夹的res文件.如何在简单的裸骨安卓应用程序中使用生成的微调器?正如我想象的那样,我必须将生成的文件链接到我在布局文件中创建的微调器.我该怎么办?在布局中说我的微调器
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Spinner
android:id="@+id/my_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
如何将其与生成的res连接起来?
我想要的是旋转器的文本颜色在运行时应该是白色的,因为它在旋转器1和2中显示在旋转器内,并且旋转器列表的文本颜色应该是黑色,如图所示.
问题是我能够为前2个Spinners做这个但是没能为第3个和第4个Spinner做到这一点.
如果你可以看到第3和第4个微调器有值但是黑色.我不明白,如果它可能2个旋转器,那么你不是所有4.请帮助我.

这是我在运行时更改颜色的代码:
public class Text // class for changing the text color of spinner
{
private TextView tv = null;
Text(View spin_adptr)
{
tv = (TextView) spin_adptr.findViewById(R.id.textspin);
tv.setTextColor(Color.WHITE);
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我所说的:
public void onItemSelected(AdapterView<?> parent, View arg1, int position,
long arg3) {
int id = parent.getId();
Text text = new Text(spinner1); //Change of color (Working)
Text text1 = new Text(spinner3); //Change of Color(ERROR)
Text text2 = new Text(spinner4); //Change of Color(ERROR)
switch (id) {
case R.id.spinner1:
String b …Run Code Online (Sandbox Code Playgroud) 问题:我加载了我的类,setOnItemSelectedListener函数运行并将变量瓦数设置为特定值,具体取决于在微调器中选择的项目.
如何防止这种情况发生,如何为可变瓦数包含自定义值?
详情:
我有一个叫编辑照明的课.在这个类中,我想要做的就是从数据库加载数据.目前,当选择灯光类型微调器时,我将一个值与它相关联.例如,我选择CFL - 瓦数是26.
但我让用户在编辑文本字段中添加自定义瓦数.
我的问题是,当在编辑灯光(下面的类)中加载数据时,setOnItemSelectedListener函数会立即运行.我怎么能阻止这个?
如何防止此功能立即触发,显示自定义功率?
有人能提供可行的解决方案吗?
提前致谢.见下面的代码
public class EditLighting extends Activity {
public Spinner mEdit;
public mEdit3;
public String lightingType, wattage;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.editlighting);
if(value == "Retrieve"){
sampleDB = getBaseContext().openOrCreateDatabase(ClientList.retrievedClient+".db", MODE_PRIVATE, null);
}
Cursor c = sampleDB.rawQuery("SELECT * FROM tbl_lightingData WHERE l_id =?", new String[] {RoomOverview.getID[1]});
if (c != null ) {
if (c.moveToFirst()) {
do …Run Code Online (Sandbox Code Playgroud) 我正在寻找一些解决方案并尝试完成它.分频器仍然没有显示出来.
我在styles.xml中为我的主题设置了样式:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Others theme here. -->
<item name="android:dropDownListViewStyle">@style/mySpinnerStyle</item>
</style>
Run Code Online (Sandbox Code Playgroud)
这是mySpinnerStyle
<style name="mySpinnerStyle" parent="android:Widget.ListView.DropDown">
<item name="android:divider">#00ff00</item>
<item name="android:dividerHeight">1dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
这是我的微调器的片段代码:
Spinner chooseDate = (Spinner) view.findViewById(R.id.chooseDate);
String[] date_group = dateList.toArray(new String[dateList.size()]);
ArrayAdapter<String> itemDate = new ArrayAdapter<String>(getActivity(), R.layout.spinner, date_group);
itemDate.setDropDownViewResource(R.layout.spinner);
chooseDate.setAdapter(itemDate);
Run Code Online (Sandbox Code Playgroud)
这是我的微调器布局xml:
<Spinner
android:theme="@style/mySpinnerStyle"
android:spinnerMode="dialog"
android:layout_gravity="center"
android:layout_marginLeft="8dp"
android:layout_marginRight="16dp"
android:id="@+id/chooseDate"
android:layout_width="match_parent"
android:layout_height="38dp"
android:background="@drawable/spinner_arrow" />
Run Code Online (Sandbox Code Playgroud)
然后R.layout.spinner xml是这样的:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:textSize="22dp"
android:theme="@style/mySpinnerStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:gravity="center"
android:paddingRight="40dp"
android:singleLine="true" />
Run Code Online (Sandbox Code Playgroud)
我为我的微调器设置了样式,但我不能显示分隔符.我不知道为什么?
任何帮助,将不胜感激 .谢谢你的支持.
清单使用我的AppTheme:
<application
android:allowBackup="true"
android:icon="@drawable/app_icon_512x512"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:name="android.support.multidex.MultiDexApplication">
Run Code Online (Sandbox Code Playgroud)