Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 微调器选项在单击之前不可见_Android_Dynamic_Spinner - Fatal编程技术网

Android 微调器选项在单击之前不可见

Android 微调器选项在单击之前不可见,android,dynamic,spinner,Android,Dynamic,Spinner,我尝试使用一个微调器来设置另外三个微调器的选项,它们使用参考资料中预定义的字符串数组动态更新 虽然我使用了stackoverflow的其他优秀建议来达到这一目的,但我不确定为什么我的3个更新的微调器在单击之前会显示不可见的选择 以下是主要代码: package com.example.bush; import com.example.bush.R; import android.os.Bundle; import android.app.Activity; import android.uti

我尝试使用一个微调器来设置另外三个微调器的选项,它们使用参考资料中预定义的字符串数组动态更新

虽然我使用了stackoverflow的其他优秀建议来达到这一目的,但我不确定为什么我的3个更新的微调器在单击之前会显示不可见的选择

以下是主要代码:

package com.example.bush;
import com.example.bush.R;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.AdapterView.OnItemSelectedListener;

public class MainActivity extends Activity implements OnItemSelectedListener{
public final static String NAME_KEY = "com.example.bush.NAME";
int pos1, pos2;
ArrayAdapter<CharSequence> adapter1, adp0,adp1;
Spinner spinner1,spinner2,spinner3,spinner4, spinner5;
EditText editText, num3, num4, num5, num6, num7, num8;
int[] route1,route2;

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

    spinner1 = (Spinner) findViewById(R.id.spinner_h_route);
    spinner3 = (Spinner) findViewById(R.id.spinner_h1);
    spinner4 = (Spinner) findViewById(R.id.spinner_h2);
    spinner5 = (Spinner) findViewById(R.id.spinner_h3);
    num3 = (EditText) findViewById(R.id.num_h1);
    num4 = (EditText) findViewById(R.id.num_h2);
    num5 = (EditText) findViewById(R.id.num_h3);
    editText = (EditText) findViewById(R.id.edit_name);

    ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(this, R.array.route_array, android.R.layout.simple_spinner_item);adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner1.setAdapter(adapter1);
    Log.i("Hostile Route Spinner", "spinner1");
    spinner1.setOnItemSelectedListener(this);

}

public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    Log.i("AAA", "OnItemSelected");
    pos1=spinner1.getSelectedItemPosition();
    Log.i("Spinner 1 Position", Integer.toString(pos1));
    switch(pos1)
        {
        case 0:
            adp0 = ArrayAdapter.createFromResource(this, R.array.first_array, android.R.layout.simple_spinner_item);
            adp0.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
            spinner3.setAdapter(adp0);spinner4.setAdapter(adp0);spinner5.setAdapter(adp0);
            break;
        case 1:
            adp1 = ArrayAdapter.createFromResource(this, R.array.second_array, android.R.layout.simple_spinner_item);
            adp1.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
            spinner3.setAdapter(adp1);spinner4.setAdapter(adp1);spinner5.setAdapter(adp1);
            break;
        }
    }

public void onNothingSelected(AdapterView<?> arg0) {}

}
package com.example.bush;
导入com.example.bush.R;
导入android.os.Bundle;
导入android.app.Activity;
导入android.util.Log;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.EditText;
导入android.widget.Spinner;
导入android.widget.AdapterView.OnItemSelectedListener;
公共类MainActivity扩展活动实现OnItemSelectedListener{
公共最终静态字符串名称\u KEY=“com.example.bush.NAME”;
int pos1,pos2;
阵列适配器1、adp0、adp1;
喷丝头喷丝头1、喷丝头2、喷丝头3、喷丝头4、喷丝头5;
编辑文本编辑文本,num3,num4,num5,num6,num7,num8;
int[]路由1,路由2;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
喷丝头1=(喷丝头)findViewById(R.id.Spinner\u h\u路线);
喷丝头3=(喷丝头)findViewById(R.id.Spinner_h1);
喷丝头4=(喷丝头)findViewById(R.id.Spinner_h2);
喷丝头5=(喷丝头)findViewById(R.id.Spinner_h3);
num3=(EditText)findViewById(R.id.num_h1);
num4=(EditText)findViewById(R.id.num_h2);
num5=(EditText)findViewById(R.id.num_h3);
editText=(editText)findViewById(R.id.edit_name);
ArrayAdapter adapter1=ArrayAdapter.createFromResource(这个,R.array.route\u数组,android.R.layout.simple\u微调器\u项);adapter1.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉项);
喷丝头1.设置适配器(适配器1);
Log.i(“敌对路线纺纱机”、“纺纱机1”);
喷丝头1.SetonimSelectedListener(此);
}
已选择公共视图(AdapterView arg0、视图arg1、内部arg2、长arg3){
日志i(“AAA”,“未选定”);
pos1=喷丝头1.getSelectedItemPosition();
Log.i(“微调器1位置”,Integer.toString(pos1));
开关(位置1)
{
案例0:
adp0=ArrayAdapter.createFromResource(这个,R.array.first\u数组,android.R.layout.simple\u微调器\u项);
adp0.setDropDownViewResource(android.R.layout.simple\u dropdown\u item\u 1line);
喷丝头3.setAdapter(adp0);喷丝头4.setAdapter(adp0);喷丝头5.setAdapter(adp0);
打破
案例1:
adp1=ArrayAdapter.createFromResource(这个,R.array.second\u数组,android.R.layout.simple\u微调器\u项);
adp1.setDropDownViewResource(android.R.layout.simple\u dropdown\u item\u 1line);
喷丝头3.setAdapter(adp1);喷丝头4.setAdapter(adp1);喷丝头5.setAdapter(adp1);
打破
}
}
未选择的公共无效(AdapterView arg0){}
}
以下是.xml表格布局:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/scrolltest.xml"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >


    <TableLayout
        android:id="@+id/TableLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/name_label"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:text="@string/label1"
                android:width="0px"
                android:gravity="center"
                android:layout_weight="1"
                android:textAppearance="?android:attr/textAppearanceMedium" />

            <EditText
                android:id="@+id/edit_name"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:ems="10"
                android:width="0px"
                android:gravity="center"
                android:layout_weight="1"
                android:hint="@string/edit_message" >
            </EditText>
        </TableRow>

        <TableRow
            android:id="@+id/tableRow2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/label_h_route"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:text="@string/label2"
                android:width="0px"
                android:gravity="center"
                android:layout_weight="1"
                android:textAppearance="?android:attr/textAppearanceMedium" />

            <Spinner
                android:id="@+id/spinner_h_route"
                android:width="0px"
                android:gravity="center"
                android:layout_weight="1"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:entries="@array/route_array" />
        </TableRow>

        <TableRow
            android:id="@+id/tableRow3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <Spinner
                android:id="@+id/spinner_h1"
                android:width="0px"
                android:gravity="center"
                android:layout_weight="1"
                android:layout_width="0dip"
                android:layout_height="wrap_content" />

            <EditText
                android:id="@+id/num_h1"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:ems="10"
                android:width="0px"
                android:gravity="center"
                android:layout_weight="1"
                android:inputType="number" />
        </TableRow>

        <TableRow
            android:id="@+id/tableRow4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <Spinner
                android:id="@+id/spinner_h2"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:width="0px"
                android:gravity="center"
                android:layout_weight="1" />

            <EditText
                android:id="@+id/num_h2"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="number"
                android:width="0px"
                android:gravity="center"
                android:layout_weight="1" />

        </TableRow>

        <TableRow
            android:id="@+id/tableRow5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <Spinner
                android:id="@+id/spinner_h3"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:width="0px"
                android:gravity="center"
                android:layout_weight="1" />

            <EditText
                android:id="@+id/num_h3"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="number"
                android:width="0px"
                android:gravity="center"
                android:layout_weight="1" />

        </TableRow>

    </TableLayout>

</ScrollView>

以下是字符串资源:

<?xml version="1.0" encoding="utf-8"?>

<resources>

    <string name="app_name">Bush Calc</string>
    <string name="menu_settings">Settings</string>
    <string name="title_activity_main">Bush Calc</string>
    <string name="edit_message">Hi there :)</string>
    <string name="unit_prompt">Choose a unit</string>
    <string name="route_hint">Choose the route.</string>
    <string name="label1">Your name:</string>
    <string name="label2">Attacking route:</string>

    <string-array name="first_array">
        <item>Item 1</item>
        <item>Item 2</item>
        <item>Item 3</item>
        <item>Item 4</item>
        <item>Item 5</item>
    </string-array>

    <string-array name="second_array">
        <item>Item 6</item>
        <item>Item 7</item>
        <item>Item 8</item>
        <item>Item 9</item>
        <item>Item 10</item>
    </string-array>

    <string-array name="route_array">
        <item>First</item>
        <item>Second</item>
    </string-array>

</resources>

布什计算
设置
布什计算
你好:)
选择一个单位
选择路线。
你的名字:
攻击路线:
项目1
项目2
项目3
项目4
项目5
项目6
项目7
项目8
项目9
项目10
弗斯特
第二

感谢您提供帮助,使这些选项在微调器上可见

就是这样,你可以为微调器设置适配器,试试这个

 Spinner spinner = (Spinner)findViewById(R.id.spinner);
spinner.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item, R.array.route_array));
spinner.setOnItemSelectedListener(this);
Spinner-Spinner=(Spinner)findViewById(R.id.Spinner);
setAdapter(新的ArrayAdapter(这个,android.R.layout.simple_微调器_下拉列表_项,R.array.route_数组));
spinner.setOnItemSelectedListener(此);

就是这样,您可以为微调器设置适配器,试试这个

 Spinner spinner = (Spinner)findViewById(R.id.spinner);
spinner.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item, R.array.route_array));
spinner.setOnItemSelectedListener(this);
Spinner-Spinner=(Spinner)findViewById(R.id.Spinner);
setAdapter(新的ArrayAdapter(这个,android.R.layout.simple_微调器_下拉列表_项,R.array.route_数组));
spinner.setOnItemSelectedListener(此);

不久前,我遇到了一个非常类似的问题,设备的默认样式设置非常愚蠢。使地面和背景颜色相等。因此,您需要手动设置背景和背景颜色。

不久前,我遇到了一个非常类似的问题,设备的默认样式设置非常愚蠢。使地面和背景颜色相等。因此,您需要手动设置背景和forceground颜色。

问题在于使用了不正确的适配器资源

adp0.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
应该是

adp0.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
像您在开始设置
adapter1
时那样执行此操作


更改所有
…项目行
。布局与提供的布局不同。

问题在于使用了不正确的适配器资源

adp0.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
应该是

adp0.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
像您在开始设置
adapter1
时那样执行此操作


更改所有
…项目行
。布局与提供的布局相同。

我对其他下拉菜单、微调器等也有同样的问题。我认为有几种方法可以解决这个问题,但我认为最简单的方法是在清单中定义/创建主题。我已经使用了你的代码,它是有效的

例如,在我添加的清单中:

<activity
        android:name="com.example.invisablespinner.MainActivity"
        android:label="@string/app_name"
      => " android:theme="@style/Simple" >
“android:theme=“@style/Simple”>
在layout\values\style.xml内的样式xml中,我添加了

<style name="Simple">
    <item name="android:textSize">13sp</item>
    <item name="android:textColor">#000000</item> <== make the text black
     <item name="android:background">#ffffff</item> </style> 

13便士

#000000我对其他下拉菜单、微调器等也有同样的问题。我认为有几种方法可以解决这个问题,但我认为最简单的方法是在清单中定义/创建一个主题。我使用了您的代码,它可以工作

例如,在我添加的清单中:

<activity
        android:name="com.example.invisablespinner.MainActivity"
        android:label="@string/app_name"
      => " android:theme="@style/Simple" >
“android:theme=“@style/Simple”>