2012-03-03 29 views
11

私は現在、ボタンを押すなどしてアプリを持っています。番号1のボタンはテキストビューを変更して番号1を表示します。私がする必要があるのは、3の数字が押されたときに13のinsteaだけが3と表示されるように、ビューを追加することです。ここでは、ボタンの押下操作に使用しているswitch文があります。TextViewを追加する

prs1.setText(prs1.getText() + "1"); 

編集:

@Override 
public void onClick(View c) { 

    switch (c.getId()) 
    { 
     case R.id.keypad_1: 
      TextView prs1 = (TextView) findViewById(R.id.diff); 
      prs1.setText("1"); 

    } 

} 
+0

このメソッドを空のままにしないでください。この方法で、あなたが望むものを得ることができます。 – m0skit0

答えて

35

TextView.append()メソッドを使用します。

+0

これはifステートメントと組み合わせて機能します。 – nexus490

0

おそらくこれをやってみてください

String text = prs1.getText(); 
prs1.setText("1" + text); 
:あなたはそれが

だからこれをしたいと思う "13" を言いたかった申し訳ありませんが、私はちょうど実現

"最初に画面が表示されたら、テキストビューに?が表示され、次に1ボタンを押すとテキストビューが1になる私はそれが "13である必要がある3を押します。

は、この操作を行います:

String text = prs1.getText(); 
if(text.contains("?")) 
      text = text.replace("?", ""); 
    prs1.setText("1" + text); 
0

textViewのappend()メソッドを使用できます.setTextとappendの違いはhereです。以下の変更を加えれば、コードは期待どおりに機能すると思います。

TextView prs1 = (TextView) findViewById(R.id.diff); 
public void onClick(View c){ 
    switch (c.getId()) 
    { 
     case R.id.keypad_1: 
      prs1.append("1"); 
    } 
}