你好世界的例子不起作用

时间:2017-04-14 09:07:02

标签: java android

我正在为Android Studio的初学者提供教程,并且有一个" Hello World"像这样的例子:

package com.example.moi.scaleguess;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        TextView text = new TextView(this);

        text.setText("Hello, you owe me 1 000 000€.");

        setContentView(R.layout.activity_main);
    }
}

但是,当我在手机或虚拟手机上启动此应用时,我只能获得#34; Hello World!"消息而不是"你好,你欠我1 000 000€。"。

我不明白,它就像另一个程序已启动。

3 个答案:

答案 0 :(得分:2)

TextView的初始化错误。这是一个例子:

TextView text = (TextView) findViewById(R.id.textViewId); // must be tally in your activity_main layout.

您需要将布局(XML文件)中的视图转换为TextView

在初始化任何视图之前,必须调用另一个setContentView(R.layout.activity_main);

您的onCreate函数必须如下所示:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    TextView text = (TextView) findViewById(R.id.textViewId);
    text.setText("Hello, you owe me 1 000 000€.");
}

答案 1 :(得分:1)

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);



        setContentView(R.layout.activity_main);
TextView text = (TextView) findViewById(R.id.textviewIdInXMLFile);

        text.setText("Hello, you owe me 1 000 000€.");
    }
}

答案 2 :(得分:0)

您创建了一个Java View对象,然后告诉Android在屏幕上打印带有 setContentView(R.layout.activity_main); 的XML视图,这就是它的作用。 我只想使用Java对象,你应该尝试这段代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    TextView text = new TextView(this);

    text.setText("Hello, you owe me 1 000 000€.");

    setContentView(text);
}

或者您可以使用XML来实现Java View对象,然后将文本更改为Zarul Izham和Vyacheslav建议您这样做。