gpt4 book ai didi

java - 基于编辑文本输入的微调器值

转载 作者:行者123 更新时间:2023-12-02 01:26:27 24 4
gpt4 key购买 nike

我创建了一个编辑文本和一个微调器,微调器中有多个选择,这些选择是永久的和临时的。如果我在编辑文本中输入“品牌”,那么在微调器中它应该只显示永久而不显示临时,但如果我输入任何其他单词它应该显示永久或临时

我尝试过,如果我输入整数,那么它会返回月份名称。 例如:如果我输入 6,那么在微调器中它会显示六月。

主要 Activity 代码

        edit = (EditText) findViewById(R.id.editText);
spinner = (Spinner) findViewById(R.id.spinner);

String[] months = new DateFormatSymbols().getMonths();


ArrayAdapter adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item,months);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);

spinner.setOnItemSelectedListener(new
AdapterView.OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id)
{
edit.setText(String.valueOf(position + 1));
}


});

edit.addTextChangedListener(new TextWatcher()
{

@Override
public void afterTextChanged(Editable s)
{
try
{

int nPosition = Integer.parseInt(s.toString());
if (nPosition >= 1 && nPosition <= 12)
{
spinner.setSelection(nPosition - 1);
}
}
catch(NumberFormatException nfe)
{

}
}
});

最佳答案

试试这个...

public class Main2Activity extends AppCompatActivity {

Spinner sp1;

ArrayAdapter<String> sAdapter1;
ArrayAdapter<String> sAdapter2;
String s1[] = {"Permanent"};
String s2[] = {"Permanent", "Temporary"};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);

sp1 = (Spinner) findViewById(R.id.spinner1);
EditText et = (EditText) findViewById(R.id.editText1);

sAdapter1 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, s1);
sAdapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

sAdapter2 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, s2);
sAdapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

et.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

}

@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

}

@Override
public void afterTextChanged(Editable editable) {
if (editable.toString().equals("Brand")) {
sp1.setAdapter(sAdapter1);
} else {
sp1.setAdapter(sAdapter2);
}
}
});

}
}

关于java - 基于编辑文本输入的微调器值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56846101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com