Android setText()语法错误代码

时间:2013-11-08 07:19:44

标签: java android settext

好的,我在这里有一个非常简单的Android程序。我决定从一些简单的东西开始,但也相对有用。最后,我希望有一个存储和显示学习卡的应用程序。我觉得无法通过TextView是一个不好的预兆。我查看了几十个示例并研究了新用户使用setText()时遇到的常见问题,但无济于事。以下是相关的代码行:

来自我的.java文件:

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {

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

TextView tv1 = (TextView) findViewById(R.id.TextView1);
tv1.setText("New text");

....等等

Eclipse标记包含“setText”的行并给出以下语法错误:

令牌上的语法错误,错位的构造//强调tv1之后的句号

令牌上的语法错误“”新文本“”,删除此令牌

6 个答案:

答案 0 :(得分:3)

将textview的初始化移至onCreate

TextView tv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1 = (TextView) findViewById(R.id.TextView1); 
// initialize after settting layout to activtiy
tv1.setText("New text");
// the above statement must be within a method 
}

textview的初始化超出了任何方法。只有在将布局设置为活动后,才应初始化文本视图。因此textview在onCreate中初始化。此tv1.setText("New text")语句必须位于方法中。

初始化textview内部活动onCreate会更好。

答案 1 :(得分:0)

public class MainActivity extends Activity {

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

    TextView tv1 = (TextView) findViewById(R.id.TextView1);
    tv1.setText("New text");

}

将代码放在oncreate方法中。

答案 2 :(得分:0)

// try this
public class MainActivity extends Activity {
        TextView tv1;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tv1 = (TextView) findViewById(R.id.TextView1);
            tv1.setText("New text");
        }
}

答案 3 :(得分:0)

TextView tv1 = (TextView) findViewById(R.id.TextView1);
tv1.setText("New text");

总是在onCreate,onresume等方法中使用这类内容

答案 4 :(得分:0)

just because you initailize textview locally and set the textview 
outside onCreate method,you got this error.define textview globally solve ur issue;

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

tv1 = (TextView) findViewById(R.id.TextView1);
tv1.setText("New text");
}

答案 5 :(得分:0)

将TextView对象移动到onCreate()方法中,然后在其上调用setText方法。这是您的必需代码。

 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
   TextView tv1 = (TextView) findViewById(R.id.TextView1);
    tv1.setText("New text");
    }