我有问题 从图中可以看出有3个按钮和一个EditText
需要在按下按钮的框中写入并在EditText中写入相应的字符。就像一个键盘。 对不起,我的英语不好。 像这样:
由于
答案 0 :(得分:1)
您应该定义一个StringBuilder
,然后每按一个按钮,将该字符串添加到StringBuilder并更新EditText的内容。
只是一个快速片段:
StringBuilder s = new StringBuilder();
EditText et = (EditText) findViewById(EDITTEXT_ID_PATH);
Button button_q = (Button) findViewById(BUTTON_Q_ID_PATH);
button_q.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
s.append("q");
et.setText(s);
}
});
Button button_e = (Button) findViewById(BUTTON_E_ID_PATH);
button_e.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
s.append("e");
et.setText(s);
}
});
Button button_w = (Button) findViewById(BUTTON_W_ID_PATH);
button_q.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
s.append("w");
et.setText(s);
}
});
答案 1 :(得分:0)
你也可以使用switch case,这里是完成的代码
public class MainActivity extends Activity implements OnClickListener{
EditText et1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b1 = (Button)findViewById(R.id.button1);
Button b2 = (Button)findViewById(R.id.button2);
Button b3 = (Button)findViewById(R.id.button3);
et1 = (EditText)findViewById(R.id.editText1);
b1.setOnClickListener(this);
b2.setOnClickListener(this);
b3.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button1:
et1.append("Q");
break;
case R.id.button2:
et1.append("E");
break;
case R.id.button3:
et1.append("W");
break;
default:
break;
}
}
}