如何使Textview显示一个数字?

时间:2012-07-28 10:53:51

标签: android

我是Android开发的新手。我试图让Textview显示文本或数字,然后崩溃。请帮忙。

这是activity_main.xml中的按钮:

<Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_alignParentBottom="true"
        android:text="@string/Change" 
        android:onClick="change"/>

这是主要活动:

public void change(){
        TextView tv = new TextView(this);
        tv.setText("" + 4);
    }

启动时应用程序崩溃了。我想创建一个带有两个文本框和一个按钮的基本计算器,按下这个按钮会在两个文本框中添加值并显示它。任何人都可以告诉我我的代码出错了吗?

5 个答案:

答案 0 :(得分:4)

    public void change()
    {
       TextView tv = new TextView(this);
       tv.setText("4");
    }

如果它是任何类型的整数变量,那么

    public void change()
    {
       TextView tv = new TextView(this);
       tv.setText("" + integer_variable);
    }

并检查textView是否与代码

一起检测

TextView tv =(TextView)findViewById(R.Id.textView1);

应该工作正常,我希望......:)

如果再次崩溃,那么问题中的信息可能不完整。

快乐编码..!

答案 1 :(得分:1)

public void change(){
        TextView tv =(TextView)findViewById(R.id.textView1);
        tv.setText(Integer.toString(4));
    }

答案 2 :(得分:1)

<强> layout_contact.xml:

 <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="10dp"
    android:text="@string/number1" />

<强>的strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
 <string name="number1">0091010</string>
</resources>

<强> ContactFragment.java:

String num = "0091010";
textView8.setText(someContactNum);

<强>输出:

0091010

答案 3 :(得分:0)

你必须在xml中正确地给出文本视图的id,如

    <TextView 
   ....
   android:id="@+id/tvID"/>

检查一下你是否给了它正确的..  否则,这里将从您的xml文件中共享您的textview代码..

还要检查,您在代码中导入Textview或不是这样:

import android.widget.TextView;

答案 4 :(得分:0)

这是如何在单个文本视图中显示动态数字的答案

    StringBuilder stringBuilder = new StringBuilder();
                for (int j = fromNumber; j <= toNumber; j++) {
                    for (int i = 2; i <= j / 2; i++) {
                        if (j % i == 0) {
                            isPrimeNumber = false;
                            break;
                        } else {
                            isPrimeNumber = true;
                        }
                    }
                    if (isPrimeNumber) {

                        stringBuilder.append(j);
                        stringBuilder.append(",");
                    } else {
                    }
                }
                tvResult.setText(stringBuilder.toString());