按下Letter时,将字母写为Edittext

时间:2013-03-30 15:43:37

标签: java android layout

我有问题 从图中可以看出有3个按钮和一个EditText

enter image description here

需要在按下按钮的框中写入并在EditText中写入相应的字符。就像一个键盘。 对不起,我的英语不好。 像这样:

enter image description here

由于

2 个答案:

答案 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;
            }
    }

}