如何将文本附加到TextView的现有内容?

时间:2013-05-03 12:57:54

标签: android

我正在尝试开发一个计算器应用程序。

1 按钮时,文本视图显示“1”,按 2 时,文本视图显示“2”,替换为“1” ”。

我的问题是当按下1和2时,如何显示“12”。

我目前的代码是:

package com.calculator.kartheek;

import android.os.Bundle; 
import android.app.Activity;
import android.text.Editable;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener {

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

    final TextView textview=(TextView)findViewById(R.id.editText);

    Button one=(Button)findViewById(R.id.one);
    Button two=(Button)findViewById(R.id.two);
    Button three=(Button)findViewById(R.id.three);
    Button four=(Button)findViewById(R.id.four);
    Button five=(Button)findViewById(R.id.five);
    Button six=(Button)findViewById(R.id.six);
    Button seven=(Button)findViewById(R.id.seven);
    Button eight=(Button)findViewById(R.id.eight);
    Button nine=(Button)findViewById(R.id.nine);
    Button zero=(Button)findViewById(R.id.zero);
    Button equals=(Button)findViewById(R.id.equals);
    Button add=(Button)findViewById(R.id.plus);
    Button sub=(Button)findViewById(R.id.sub);
    Button mul=(Button)findViewById(R.id.mul);
    Button div=(Button)findViewById(R.id.division);
    Button dot=(Button)findViewById(R.id.dot);
    Button clear=(Button)findViewById(R.id.clear);

    one.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            textview.setText("1");
            textview.append(INPUT_SERVICE);
        }
    });

    two.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            textview.setText("2");
        }
    });

    three.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            textview.setText("3");
        }
    });

    four.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            textview.setText("4");
        }
    });

    five.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            textview.setText("5");
        }
    });

    six.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            textview.setText("6");
        }
    });

    seven.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            textview.setText("7");
        }
    });

    eight.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            textview.setText("8");
        }
    });

    nine.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            textview.setText("9");
        }
    });

    zero.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            textview.setText("0");
        }
    });

    dot.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            textview.setText(".");
        }
    });
}

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

}



}

4 个答案:

答案 0 :(得分:3)

使用以下内容:

textview.append(MY_NUMBER);

您需要将其添加到按钮onClick

答案 1 :(得分:1)

点击按钮,执行以下操作。

    textview.append("1");
    textview.append("2"); 

使用append将文本附加到textview

  public final void append (CharSequence text)

在API级别1中添加

便捷方法:将指定的文本附加到TextView的显示缓冲区,如果它尚不可编辑,则将其升级为BufferType.EDITABLE。

编辑:

one.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View arg0) {
        textview.append("1");  
    }
});

two.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View arg0) {
        textview.append("2");
    }
});

答案 2 :(得分:0)

你可以这样做。 textView.setText(textView.getText()+“你要显示的任何数字”);

答案 3 :(得分:0)

朋友, 在每个onclick()内写下以下代码,而不是仅编写textView.setText("1")

String s1 = textView.getText().toString;
textView.setText(s1 + "0");