gpt4 book ai didi

android - 如何使用和编辑文本输入作为开关的 int

转载 作者:行者123 更新时间:2023-11-29 22:20:21 24 4
gpt4 key购买 nike

我想使用编辑文本中的用户输入,将其转换为一个 int 并在我的 switch 语句中使用它

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.text.Editable;
import android.text.InputType;
import android.view.Display;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ToggleButton;

public class MainScreen extends Activity implements View.OnClickListener {
Button convert;
Button erase;
EditText display;
ToggleButton switcher;
int input;



@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);


pause.start();
// Calls my variables
InitializeVars();
}

// SLEEP 2 SECONDS HERE ...
Thread pause = new Thread() {
public void run() {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

};

// My variables
private void InitializeVars() {
// TODO Auto-generated method stub
convert = (Button) findViewById(R.id.bConvert);
erase = (Button) findViewById(R.id.bErase);
display = (EditText) findViewById(R.id.etDisplay);
display.setInputType(InputType.TYPE_CLASS_NUMBER);
switcher = (ToggleButton) findViewById(R.id.tbSwitch);

switcher.setOnClickListener(this);
convert.setOnClickListener(this);
erase.setOnClickListener(this);

}

// My functions for anything that is clickable embedded with a switch
// statement
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.tbSwitch:
if (switcher.isChecked()) {
display.setText("Text1");
} else {
display.setText("Text2");
}
break;
case R.id.bErase:
display.getText().clear();
break;
case R.id.bConvert:
input = Integer.getInteger(display.getText().toString());
input = (input / 10);
switch (input) {
case input = 10:
}
break;
default:
break;
}
}

所以输入后是这样的当我尝试在我的案例中使用我的输入时(对于 switch 语句)得到“案例表达式必须是常量表达式”

最佳答案

好吧,关于该行,我注意到的第一件事是您正在尝试提供 input,这是一个 int 一个 Editabledisplay.getText() 返回一个 Editable 对象。我想你真正想要的是

input = Integer.parseInt(display.getText().toString());

由于 parseInt() 会抛出一个 NumberFormatException,您可能想要实现一个 try/catch block 来捕获任何非整数的输入。它将使您的应用程序更加健壮。

至于你的主题。你不会在任何地方调用它。这很好,但是无论你需要它,你都必须调用 pause.start() ,虽然这真的没有必要。在这方面,我同意 Evil 总统的观点。

关于android - 如何使用和编辑文本输入作为开关的 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7407006/

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