2013-05-03 68 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"); 
相關問題