首页 文章

Android setText()语法错误代码

提问于
浏览
1

好的,我在这里有一个非常简单的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
    // 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");
            }
    }
    
  • 0
    TextView tv1 = (TextView) findViewById(R.id.TextView1);
    tv1.setText("New text");
    

    总是在onCreate,onresume等方法中使用这类东西

  • 0

    将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 更好 .

  • 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方法中 .

  • 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");
    }
    
  • 3

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

相关问题