Android 选择选项时如何编辑文本?
我想在选择“其他”选项时输入文本Android 选择选项时如何编辑文本?,android,android-spinner,Android,Android Spinner,我想在选择“其他”选项时输入文本 Spinner-spn; ........ adapterString=新字符串[] { “A”, “B”, “其他” }; ArrayAdapter adptLubricatorType=新的ArrayAdapter(此, android.R.layout.simple\u微调器\u项,适配器字符串); spn.setAdapter(AdptLubricateType); setOnItemSelectedListener(listenerspn); priv
Spinner-spn;
........
adapterString=新字符串[]
{
“A”,
“B”,
“其他”
};
ArrayAdapter adptLubricatorType=新的ArrayAdapter(此,
android.R.layout.simple\u微调器\u项,适配器字符串);
spn.setAdapter(AdptLubricateType);
setOnItemSelectedListener(listenerspn);
private Spinner.OnItemSelectedListener listenerspn=新建Spinner.OnItemSelectedListener(){
@凌驾
已选择公共视图(适配器视图arg0、视图arg1、内部arg2、,
长arg3){
}
当我拉下微调器并选择“其他”时,如何插入文本
我希望我能像edittext一样输入,当我点击其他东西时,“其他”会改变
对于我刚刚输入的字符串,可能会创建一个警报对话框并向其中添加编辑文本:
final AlertDialog.Builder alert = new AlertDialog.Builder(this);
final EditText input = new EditText(this);
alert.setView(input);
可能会创建一个警报对话框并向其中添加编辑文本:
final AlertDialog.Builder alert = new AlertDialog.Builder(this);
final EditText input = new EditText(this);
alert.setView(input);
始终使用
编辑文本
,但在XML文件中将其可见性设置为不可见
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
//get the item selected item. Compare to the itme for which you want to make the EditText visible
if( spn.getSelectedItem().toString().equals("Other"){
yourEditText.setVisibility(View.VISIBLE);
}
}
@覆盖
已选择公共视图(适配器视图arg0、视图arg1、内部arg2、,
长arg3){
//获取所选项目。与要使编辑文本可见的itme进行比较
如果(spn.getSelectedItem().toString().equals)(“其他”){
yourEditText.setVisibility(View.VISIBLE);
}
}
然后,您可以通过使用onClickListener
等,像往常一样处理EditText
。
希望您能理解这个概念,请发表评论。始终使用
编辑文本
,但在XML文件中将其可见性设置为不可见
。然后,当您检测到所选项目是“其他”
,将可见性设置为可见
。类似于
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
//get the item selected item. Compare to the itme for which you want to make the EditText visible
if( spn.getSelectedItem().toString().equals("Other"){
yourEditText.setVisibility(View.VISIBLE);
}
}
@覆盖
已选择公共视图(适配器视图arg0、视图arg1、内部arg2、,
长arg3){
//获取所选项目。与要使编辑文本可见的itme进行比较
如果(spn.getSelectedItem().toString().equals)(“其他”){
yourEditText.setVisibility(View.VISIBLE);
}
}
然后,您可以通过使用onClickListener
等,像往常一样处理EditText
。
希望您能理解这个概念,请发表评论。使用setVisibility()
切换编辑文本的可见性。以下是工作代码片段
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
other = (EditText)findViewById(R.id.other);
other.setVisibility(View.GONE);
Spinner spn = (Spinner)findViewById(R.id.spinner1);
String[] adapterString = new String[]
{
"A",
"B",
"Other"
};
ArrayAdapter<String> adptLubricatorType = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, adapterString);
spn.setAdapter(adptLubricatorType);
Spinner.OnItemSelectedListener listenerspn = new Spinner.OnItemSelectedListener() {
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
其他=(EditText)findViewById(R.id.other);
其他.setVisibility(View.GONE);
微调器spn=(微调器)findViewById(R.id.spinner1);
字符串[]适配器字符串=新字符串[]
{
“A”,
“B”,
“其他”
};
ArrayAdapter adptLubricatorType=新的ArrayAdapter(此,
android.R.layout.simple\u微调器\u项,适配器字符串);
spn.setAdapter(AdptLubricateType);
Spinner.OnItemSelectedListener listenerspn=新建Spinner.OnItemSelectedListener(){
}
布局文件:
<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>
<Spinner
android:id="@+id/spinner1"
android:layout_width="0dp"
android:layout_weight="2"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/other"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"/>
</LinearLayout>
使用setVisibility()
切换编辑文本的可见性。以下是工作代码段
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
other = (EditText)findViewById(R.id.other);
other.setVisibility(View.GONE);
Spinner spn = (Spinner)findViewById(R.id.spinner1);
String[] adapterString = new String[]
{
"A",
"B",
"Other"
};
ArrayAdapter<String> adptLubricatorType = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, adapterString);
spn.setAdapter(adptLubricatorType);
Spinner.OnItemSelectedListener listenerspn = new Spinner.OnItemSelectedListener() {
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
其他=(EditText)findViewById(R.id.other);
其他.setVisibility(View.GONE);
微调器spn=(微调器)findViewById(R.id.spinner1);
字符串[]适配器字符串=新字符串[]
{
“A”,
“B”,
“其他”
};
ArrayAdapter adptLubricatorType=新的ArrayAdapter(此,
android.R.layout.simple\u微调器\u项,适配器字符串);
spn.setAdapter(AdptLubricateType);
Spinner.OnItemSelectedListener listenerspn=新建Spinner.OnItemSelectedListener(){
}
布局文件:
<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>
<Spinner
android:id="@+id/spinner1"
android:layout_width="0dp"
android:layout_weight="2"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/other"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"/>
</LinearLayout>