我的活动中有两个组件,即输入类型数字的编辑文本和按钮。在创建我的活动的函数中,我把
EditText editText = (EditText) findViewById(R.id.editText1);
editText.setText("1");
但是用户可以选择更改它。on单击按钮,我在文本视图中显示此数值。这是我的点击功能
public void onClick(View view){
int i=Integer.parseInt(editText.getText().toString());
textView.setText(i+"");
}
但是每次它选择默认值,即 1,而不是更改的值,如果有人在单击按钮之前更改它。这是完整的代码
public class Edittext1 extends Activity {
EditText editText;
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edittext1);
editText = (EditText) findViewById(R.id.editText1);
textView = (TextView) findViewById(R.id.textView1);
editText.setText("1");
}
public void onClick(View view) {
int i = Integer.parseInt(editText.getText().toString());
textView.setText(i + "");
}
}
editText.getText().toString());
您缺少getText()
的括号。
问题可能出在onClick
方法上。我想您已经在按钮的 XML 中创建了OnClickListener
,对吧?
有时,我对此有问题。所以试试这个:
首先声明一个全局Button
变量。
Button button;
然后,在onCreate
里面:
button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
//Put the content of the onClick method in here
//And remove the onClick method
}
});
您错过了将setOnClickListener
设置为按钮
Button button=(Button)findViewById(R.id.your_button_id);
button.setOnClickListener(this);
或
Button button= (Button) findViewById(R.id.buttonId);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DoIt(v);
}
});