简体   繁体   English

Java错误:尝试在空对象引用上调用虚拟方法'void android.widget.TextView.setText(java.lang.CharSequence)'

[英]Java Error: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference

I get the error "Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference" when I want the start my app. 当我要启动我的应用程序时,出现错误“尝试在空对象引用上调用虚拟方法'void android.widget.TextView.setText(java.lang.CharSequence)'”。

The error output 错误输出

02-09 19:39:20.364 18846-18846/com.michael1011.tweetcomposer E/AndroidRuntime: FATAL EXCEPTION: main
   Process: com.michael1011.tweetcomposer, PID: 18846
   java.lang.RuntimeException: Unable to start activity ComponentInfo{com.michael1011.tweetcomposer/com.michael1011.tweetcomposer.login}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2450)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2520)
       at android.app.ActivityThread.-wrap11(ActivityThread.java)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1363)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:148)
       at android.app.ActivityThread.main(ActivityThread.java:5466)
       at java.lang.reflect.Method.invoke(Native Method)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
    Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
       at android.support.design.widget.Snackbar.setText(Snackbar.java:334)
       at android.support.design.widget.Snackbar.make(Snackbar.java:210)
       at com.michael1011.tweetcomposer.login.onCreate(login.java:43)
       at android.app.Activity.performCreate(Activity.java:6251)
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2403)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2520) 
       at android.app.ActivityThread.-wrap11(ActivityThread.java) 
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1363) 
       at android.os.Handler.dispatchMessage(Handler.java:102) 
       at android.os.Looper.loop(Looper.java:148) 
       at android.app.ActivityThread.main(ActivityThread.java:5466) 
       at java.lang.reflect.Method.invoke(Native Method) 
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

mainActivity.java mainActivity.java

public class login extends AppCompatActivity {

public boolean isOnline() {
    NetworkInfo netInfo = ((ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
    if (netInfo == null || !netInfo.isConnectedOrConnecting()) {
        return false;
    }
    return true;
}

Intent sb_login = null;

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

    Toolbar login_toolbar = (Toolbar) findViewById(R.id.toolbar_login);
    setSupportActionBar(login_toolbar);

    RelativeLayout login_sb_layout = (RelativeLayout)findViewById(R.id.login_layout);

    Snackbar sb_login = Snackbar
            .make(login_sb_layout, "@string/no_internet_connection", Snackbar.LENGTH_INDEFINITE)
            .setAction("RETRY", new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    recreate();
                }
            });

    sb_login.setActionTextColor(Color.parseColor("#55acee"));

    View sb_login_view = sb_login.getView();
    TextView sb_login_textView = (TextView)sb_login_view.findViewById(android.support.design.R.id.snackbar_text);
    sb_login_textView.setTextColor(Color.parseColor("#ffffff"));

    if(!isOnline()) {
        sb_login.show();
    }
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_login, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    int id = item.getItemId();

    if (id == R.id.action_settings) {

        startActivity(new Intent(this, settings.class));
        return true;
    }

    return super.onOptionsItemSelected(item);
}}

Please help. 请帮忙。

I guess you have to replace the line 我想你必须更换线

Intent sb_login = null;

with

Intent sb_login;

then try 然后尝试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何解决对空对象引用调用虚拟方法'void android.widget.TextView.setText(java.lang.CharSequence)'的尝试 - How to resolve Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference (RecyclerView) 尝试在空对象引用上调用虚拟方法“void android.widget.TextView.setText(java.lang.CharSequence)” - (RecyclerView) Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference Recycler View - 尝试在空对象引用上调用虚拟方法“void android.widget.TextView.setText(java.lang.CharSequence)” - Recycler View - Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference 可能重复:尝试在空对象引用上调用虚拟方法“void android.widget.TextView.setText(java.lang.CharSequence)” - May be duplicated : Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference RecyclerView:尝试在 null object 引用上调用虚拟方法“void android.widget.TextView.setText(java.lang.CharSequence)” - RecyclerView: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference Recycler view android studioAttempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference - Recycler view android studioAttempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference 在andoid应用程序上出现错误'尝试调用虚拟方法'void android.widget.TextView.setText(java.lang.CharSequence)' - Getting error 'Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' ON andoid app 在Home.onCreate上的空对象引用上无效android.widget.TextView.setText(java.lang.CharSequence)' - void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference at Home.onCreate 在空对象引用上使 android.widget.TextView.setText(java.lang.CharSequence)' 无效 - Void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference 尝试在空对象引用上调用虚拟方法'void android.widget.EditText.setText(java.lang.CharSequence)' - Attempt to invoke virtual method 'void android.widget.EditText.setText(java.lang.CharSequence)' on a null object reference
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM