使用按钮在顺序文本上自定义键盘写入

时间:2013-03-09 16:02:22

标签: android eclipse keyboard

我使用ImageButton为Android设计了一个自定义键盘(使用Eclipse)。我想点击一个按钮来写入文本,但每次单击一个按钮,它都会重置文本,删除我之前写的内容。

如何让它继续写上一篇文章?

这是我的代码的基本部分,使用两个按钮和一个文本字段。

package com.example.nonachan;

import android.R.string;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;

public class MainActivity extends Activity {

    char g;
    char h;

    int i = 0; 

    //char buf[] = new char[10];    

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final EditText t =(EditText)findViewById(R.id.t1);

             ImageButton n = (ImageButton)findViewById(R.id.b1);            
            n.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub

                    g = 'd';
                    // buf[i] = 'd';
                      t.setText( "" + g);  
                     i++;
                }       

            });

            ImageButton a = (ImageButton)findViewById(R.id.b2);
            a.setOnClickListener(new View.OnClickListener() {     
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub

                //   buf[i] = 'h';
                     h = 'h' ;
                     t.setText( "" +h); 
                     i++; 

                }
            });

            Button l = (Button)findViewById(R.id.b3);
            l.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub      

                }

            });

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

1 个答案:

答案 0 :(得分:0)

t.setText( "" + g);

代码中的上述内容表示将t的文本设置为"" + g,等于"d"。它永远不会附加文本,因为你没有告诉它。

尝试在文本字段中添加现有文字:

t.setText(t.getText().toString() + g);

你也必须对t.setText( "" +h);做同样的事情。