Java 如何从微调器中检索值

Java 如何从微调器中检索值,java,android,android-spinner,Java,Android,Android Spinner,我想从微调器中检索一个值。 这是我的密码 addCustomerActivity.java public class AddCustomerActivity extends AppCompatActivity{ Spinner spinnerCustomer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVi

我想从
微调器
中检索一个值。 这是我的密码

addCustomerActivity.java

public class AddCustomerActivity extends AppCompatActivity{
Spinner spinnerCustomer;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_add_customer);

    Toolbar toolbar = (Toolbar) findViewById(R.id.add_customer_toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setTitle("Add New Customer");

    fetchId();
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.spinner_category,
            android.R.layout.simple_spinner_item);
  adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerCustomer.setAdapter(adapter); 
}

private void fetchId() {
    spinnerCustomer = findViewById(R.id.spinner_customer);
}
}
public class AddCustomerActivity扩展了AppCompatActivity{
纺纱机;纺纱机;客户;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u add\u customer);
Toolbar Toolbar=(Toolbar)findViewById(R.id.add\u customer\u Toolbar);
设置支持操作栏(工具栏);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle(“添加新客户”);
fetchId();
ArrayAdapter=ArrayAdapter.createFromResource(此,R.array.spinner_类别,
android.R.layout.simple\u微调器(项目);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
喷丝头客户设置适配器(适配器);
}
私有void fetchId(){
spinnerCustomer=findViewById(R.id.spinner\u客户);
}
}
String.xml

<string-array name="spinner_category">
    <item>Male</item>
    <item>Female</item>
</string-array>

男性
女性
acitivity_add_customer.xml

 <Spinner
    android:id="@+id/spinner_customer"
    android:layout_width="match_parent"
    android:layout_height="30dp"
    android:layout_margin="10dp"/>

我没有使用数据库从
微调器
获取值。我正在使用字符串数组获取值。我希望它的值是字符串。

试试这个

String text = spinnerCustomer.getSelectedItem().toString();
编辑

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.spinner_category,
            android.R.layout.simple_spinner_item);
  adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerCustomer.setAdapter(adapter);



spinnerCustomer.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String selectedItemText = (String) parent.getItemAtPosition(position);
                // Notify the selected item text
                Toast.makeText
                        (getApplicationContext(), "Selected : " + selectedItemText, Toast.LENGTH_SHORT)
                        .show();
            }

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

            }
        });
ArrayAdapter=ArrayAdapter.createFromResource(此,R.array.spinner_类别,
android.R.layout.simple\u微调器(项目);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
喷丝头客户设置适配器(适配器);
spinnerCustomer.setOnItemSelectedListener(新AdapterView.OnItemSelectedListener()){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
String selectedItemText=(字符串)parent.getItemAtPosition(位置);
//通知所选项目文本
Toast.makeText
(getApplicationContext(),“Selected:”+selectedItemText,Toast.LENGTH\u SHORT)
.show();
}
@凌驾
未选择公共无效(AdapterView父级){
}
});
试试这个

String text = spinnerCustomer.getSelectedItem().toString();
编辑

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.spinner_category,
            android.R.layout.simple_spinner_item);
  adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerCustomer.setAdapter(adapter);



spinnerCustomer.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String selectedItemText = (String) parent.getItemAtPosition(position);
                // Notify the selected item text
                Toast.makeText
                        (getApplicationContext(), "Selected : " + selectedItemText, Toast.LENGTH_SHORT)
                        .show();
            }

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

            }
        });
ArrayAdapter=ArrayAdapter.createFromResource(此,R.array.spinner_类别,
android.R.layout.simple\u微调器(项目);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
喷丝头客户设置适配器(适配器);
spinnerCustomer.setOnItemSelectedListener(新AdapterView.OnItemSelectedListener()){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
String selectedItemText=(字符串)parent.getItemAtPosition(位置);
//通知所选项目文本
Toast.makeText
(getApplicationContext(),“Selected:”+selectedItemText,Toast.LENGTH\u SHORT)
.show();
}
@凌驾
未选择公共无效(AdapterView父级){
}
});

你也可以这样做

spinnerCustomer=(Spinner)findViewById(R.id.spinner_customer);
String[] arrayOfStrings=getResources().getStringArray(R.array.spinner_category);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item,arrayOfStrings);

spinnerCustomer.setAdapter(adapter);
final Spinner finalSpinnerCustomer = spinnerCustomer;
finalspinnerCustomer.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id)
        {
            String item = ((TextView) view).getText().toString();  
        Toast.makeText(this,"Clicked"+ item.toString(), Toast.LENGTH_SHORT).show();
        }
});
spinnerCustomer=(Spinner)findViewById(R.id.Spinner\u客户);
String[]ArrayOfString=getResources().getStringArray(R.array.spinner_类别);
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple_微调器_项,arrayOfStrings);
喷丝头客户设置适配器(适配器);
最终纺纱机最终纺纱机客户=纺纱机客户;
finalspinnerCustomer.setOnItemClickListener(新的AdapterView.OnItemClickListener()
{
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id)
{
字符串项=((TextView)视图).getText().toString();
Toast.makeText(此“单击”+item.toString(),Toast.LENGTH_SHORT.show();
}
});

你也可以这样做

spinnerCustomer=(Spinner)findViewById(R.id.spinner_customer);
String[] arrayOfStrings=getResources().getStringArray(R.array.spinner_category);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item,arrayOfStrings);

spinnerCustomer.setAdapter(adapter);
final Spinner finalSpinnerCustomer = spinnerCustomer;
finalspinnerCustomer.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id)
        {
            String item = ((TextView) view).getText().toString();  
        Toast.makeText(this,"Clicked"+ item.toString(), Toast.LENGTH_SHORT).show();
        }
});
spinnerCustomer=(Spinner)findViewById(R.id.Spinner\u客户);
String[]ArrayOfString=getResources().getStringArray(R.array.spinner_类别);
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple_微调器_项,arrayOfStrings);
喷丝头客户设置适配器(适配器);
最终纺纱机最终纺纱机客户=纺纱机客户;
finalspinnerCustomer.setOnItemClickListener(新的AdapterView.OnItemClickListener()
{
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id)
{
字符串项=((TextView)视图).getText().toString();
Toast.makeText(此“单击”+item.toString(),Toast.LENGTH_SHORT.show();
}
});

您需要实现
AdapterView.OnItemSelectedListener
接口 之后,您可以从
onItemSelected()
方法打印您的值

示例代码:

public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener{
    Spinner spinner;
    String[] sampleData = {
            "first",
            "second",
            "third",
            "fourth",
            "fifth"
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        spinner = findViewById(R.id.spinner);

        spinner.setOnItemSelectedListener(this);
        ArrayAdapter aa = new ArrayAdapter(this, android.R.layout.simple_spinner_item, sampleData);
        aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(aa);
    }

    @Override
    public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
        Toast.makeText(getApplicationContext(), sampleData[i], Toast.LENGTH_LONG).show();
    }

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

    }
}
公共类MainActivity扩展AppCompativeActivity实现AdapterView.OnItemSelectedListener{ 纺纱机; 字符串[]sampleData={ “第一”, “第二”, “第三”, “第四”, “第五” }; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); 微调器=findViewById(R.id.spinner); spinner.setOnItemSelectedListener(此); ArrayAdapter aa=新的ArrayAdapter(这是android.R.layout.simple\u微调器\u项,sampleData); aa.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项); 纺纱机.设置适配器(aa); } @凌驾 已选择公共视图(AdapterView AdapterView、View视图、int i、long l){ Toast.makeText(getApplicationContext(),sampleData[i],Toast.LENGTH\u LONG.show(); } @凌驾 未选择公共无效(AdapterView AdapterView){ } }
您需要实现
AdapterView.OnItemSelectedListener
接口 在那之后,你可以