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
接口
在那之后,你可以