2013-05-03 46 views
1

我想开发一个计算器应用程序。如何将文本附加到TextView的现有内容?

当按下按钮,文本视图显示“1”,当我按下,文本视图由代替“1”显示“2”。

我的问题是如何在按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 

} 



} 
+0

你有没有解决过你的问题? – TronicZomB 2013-05-04 04:27:29

回答

3

使用下列内容:

textview.append(MY_NUMBER); 

你会想要将它添加到您的按钮onClick

1

按钮点击按钮,如下图所示。

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

使用追加到文本追加到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"); 
    } 
}); 
0

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

0

朋友, 每个onclick()里面写下面的代码,而不是只写textView.setText("1")

String s1 = textView.getText().toString; 
textView.setText(s1 + "0"); 
相关问题