Java Android textview-我无法启动它
嗨,我正在尝试构建我的第一个android项目。我是一名优秀的程序员,适用于微控制器、php、bash等 然而,这种java语法使我们想要爆发Java Android textview-我无法启动它,java,android,textview,Java,Android,Textview,嗨,我正在尝试构建我的第一个android项目。我是一名优秀的程序员,适用于微控制器、php、bash等 然而,这种java语法使我们想要爆发 package com.example.test; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.TextView; public class MainActivity extends Acti
package com.example.test;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
TextView tv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
TextView tv1 = (TextView) findViewById(R.id.textView1);
tv1.setText("Text2");
}
及
我在网上查了很多例子,但看起来我没法继续
tv1.setText(“Text2”)代码>总是出现语法错误
我在哪里出错了?换成
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// initialize after setContentView
tv1 = (TextView) findViewById(R.id.textView1);
tv1.setText("Text2"); // should be within a method
}
这是因为您正在放置
TextView tv1 = (TextView) findViewById(R.id.textView1);
tv1.setText("Text2");
在MainActivity类中的任何方法之外。只需将这两行放在onCreate()方法中,setContentView()之后。当您用Java编写代码时,每行代码都需要放在一个方法中(变量声明除外)。要初始化TextView
的代码不在导致错误的方法中
将代码更改为:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv1 = (TextView) findViewById(R.id.textView1);
tv1.setText("Text2");
}
这导致TextView的初始化在onCreate方法内完成,该方法是在创建视图时调用的方法
如果以后还想使用TextView,请将tv1的变量声明移到方法之外
private TextView tv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1 = (TextView) findViewById(R.id.textView1);
tv1.setText("Text2");
}
private TextView tv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1 = (TextView) findViewById(R.id.textView1);
tv1.setText("Text2");
}