-1

我是 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);
    }

应用程序在我启动时崩溃。我想创建一个带有两个文本框和一个按钮的基本计算器,当按下该按钮时,它会在两个文本框中添加值并显示它。谁能告诉我代码哪里出错了?

4

5 回答 5

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);

应该工作得很好,我希望.. :)

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

快乐编码..!

于 2012-07-28T11:02:06.357 回答
2
public void change(){
        TextView tv =(TextView)findViewById(R.id.textView1);
        tv.setText(Integer.toString(4));
    }
于 2012-07-28T11:00:11.210 回答
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" />

字符串.xml:

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

联系片段.java:

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

输出:

0091010

于 2014-08-06T09:28:16.610 回答
0

您必须在 xml 中正确提供文本视图的 id,例如

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

检查您是否正确提供了它。否则,请在此处从您的 xml 文件中共享您的 textview 代码。

并且还要检查一下,您在代码中导入 Textview 或不这样:

import android.widget.TextView;
于 2012-07-28T11:43:52.467 回答
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());
于 2018-09-24T18:00:10.780 回答