有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法在简单程序上解析符号“上下文”

我正试图创建一个简单的hello world程序来开始Android应用程序开发,但我一直在TextView行上遇到一个错误,上面有“无法解析符号”上下文

package com.example.bryce.firstapplication;

import 安卓.app.Activity;
import 安卓.content.Context;
import 安卓.support.v7.app.AppCompatActivity;
import 安卓.os.Bundle;
import 安卓.widget.TextView;

public class MainActivity extends Activity {

@Override
protected void onResume() {
    super.onResume();
    Context context=this;
    TextView TV=new TextView(context: this);
    TV.setText("Hello World");
    setContentView(TV);
    //setContentView(R.layout.activity_main);
}
}

共 (5) 个答案

  1. # 1 楼答案

    TextView TV=new TextView(context:this)行更改为:

    TextView TV=new TextView(this);
    

    TextView TV=new TextView(MainActivity.this);
    

    Context context=this;
    TextView TV=new TextView(context);
    

    另一种方法是在活动课中使用以下代码:

    TextView TV=new TextView(getBaseContext());
    
  2. # 2 楼答案

    替换:

    TextView TV=new TextView(context: this);
    

    与:

    TextView TV=new TextView(this);
    

    还请注意onResume()中的代码通常位于onCreate()

  3. # 3 楼答案

    替换

    TextView TV=new TextView(context: this);
    

    用这个

    TextView TV=new TextView(MainActivity.this);
    
  4. # 4 楼答案

    我想你可以把你的代码放在onCreate里面,而不是onResume

    不管怎样, 替换

    TextView TV=new TextView(context: this);
    

    TextView TV=new TextView(MainActivity.this);
    

    因此,您可以使用活动来声明TextView

  5. # 5 楼答案

    上下文是不必要的。您可以通过以下方式显示所需的文本:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        TextView textView = findViewById(R.id.textview);
        textView.setText("Hello World");
    }
    

    只需确保您的TextView具有如下id:

    <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />