【发布时间】:2013-10-13 23:13:07
【问题描述】:
我想制作一个按钮,以便在此过程正常运行时依次保存/打印/显示 2 个微调器中的名称。
在执行用户名时会按下此按钮。 例如:
当项目 == Linda 时,Linda 按下了按钮。按钮将直接在 spinner1 上显示/打印 Linda 的名字。
同样的事情发生在其他用户身上。并且名称会直接保存在后面的微调器(Spinner2)中。
这是我的代码...
主程序
这个主程序系统用于循环名称。
public boolean onOptionsItemSelected(MenuItem item) {
Log.i(TAG, "Menu Item selected " + item);
if (item == Linda) {
variabel.setViewMode(ClassOne.Object1);
new Thread(new Runnable(){
public void run() {
try {
Thread.sleep(5000);
onOptionsItemSelected(David);}
catch (Exception ex){}}
}).start();
} else if (item == David) {
variabel.setViewMode(ClassOne.Object2);
new Thread(new Runnable(){
public void run() {
try {
Thread.sleep(5000);
onOptionsItemSelected(Samuel);}
catch (Exception ex){}}
}).start();
} else if (item == Samuel) {
variabel.setViewMode(ClassOne.Object3);
new Thread(new Runnable(){
public void run() {
try {
Thread.sleep(5000);
onOptionsItemSelected(Linda);}
catch (Exception ex){}}
}).start();
}
SpinnerProgram
这是我的代码...
private Spinner spinner1, spinner2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
addListenerOnButton();
addListenerOnSpinnerItemSelection();
}
public void addListenerOnSpinnerItemSelection() {
spinner1 = (Spinner) findViewById(R.id.spinner1);
spinner1.setOnItemSelectedListener(new CustomOnItemSelectedListener());
spinner2 = (Spinner) findViewById(R.id.spinner2);
spinner2.setOnItemSelectedListener(new CustomOnItemSelectedListener());
// get the selected dropdown list value
public void addListenerOnButton() {
spinner1 = (Spinner) findViewById(R.id.spinner1);
spinner2 = (Spinner) findViewById(R.id.spinner2);
public void onClick(View v) {
/* get names when button stop on looping process and print the names in spinners*/
String name1 = String.valueOf(spinner1.getSelectedItem());
String name2 = String.valueOf(spinner2.getSelectedItem());
String print_name = getName(name1);
String print_name = getName(name2);
public String getName(String name) {
String value = "0";
if (name.equalsIgnoreCase("Linda")) {
value = "0";
} else if (name.equalsIgnoreCase("David")) {
value = "1";
} else if (name.equalsIgnoreCase("Samuel")) {
value = "2"; }
STRING.XML
<string-array name="names">
<item>Linda</item>
<item>David</item>
<item>Samuel</item>
我的问题:
如何创建一个按钮,我应该把可以直接打印/显示所选名称的按钮放在微调器中的什么位置?
【问题讨论】:
-
嗨,迈克,感谢您回答我的问题。没有麦克,当按下“确定”按钮时,spinner1 应该只得到一个名称。 (按下 OK 按钮时微调器将自动获取名称)我想将按钮“确定”放在方法“onOptionsItemSelected”中,以便它可以获取名称并在微调器上显示名称。
-
在 Spinner1 得到名称之后。当我们第二次按下 OK 按钮时,它会在 spinner2 上显示名称。
-
如果我们在 Spinner 上有两个名字也没关系: Linda on Spinner1 Linda on Spinner2
-
我已经更新了微调器程序。我的要点是: 1.如何创建按钮“确定”? (按下它会得到用户选择的名称) 2. 如何将“OK”按钮与 Spinner 连接? (该按钮还将选择微调器上与用户选择的名称相匹配的名称。
-
例如,当用户想要选择大卫时。他会像(item=David)一样快地按下按钮OK。并且名称“大卫”将直接显示在微调器上。