按钮不会重定向到活动,而是使应用程序崩溃

Posted

技术标签:

【中文标题】按钮不会重定向到活动,而是使应用程序崩溃【英文标题】:Button doesn't redirect to activity but crashes app instead 【发布时间】:2018-12-22 13:26:24 【问题描述】:

我的按钮没有打开新的活动,应用程序崩溃了。我什至从 http://www.androidbegin.com/tutorial/android-button-click-new-activity-example/ 复制了源代码并尝试自己运行它,但应用程序仍然崩溃。我似乎找不到问题。

public class MainActivity extends Activity 
Button button;

@Override
public void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    // Get the view from activity_main.xml
    setContentView(R.layout.activity_main);

    // Locate the button in activity_main.xml
    button = (Button) findViewById(R.id.MyButton);

    // Capture button clicks
    button.setOnClickListener(new OnClickListener() 
        public void onClick(View arg0) 

            // Start NewActivity.class
            Intent myIntent = new Intent(MainActivity.this,
                    secondActivity.class);
            startActivity(myIntent);
        
    );



XML 按钮

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_ >

<Button
    android:id="@+id/MyButton"
    android:layout_
    android:layout_
    android:layout_centerInParent="true"
    android:text="Button" />

【问题讨论】:

你在 Manifest 中添加了你的 secondActivity 吗?如果是的话,你能分享一下logcat吗 请在此处发布崩溃日志,错误显示是什么? 天啊,我没有意识到我没有在清单中包含第二个活动。谢谢 【参考方案1】:

您的代码没问题!

此行为最可能的原因是 secondActivity 未在您的清单中注册。检查是否是,然后重试。如果不是,您只需在manifest.xml 文件的application 标记内添加以下行即可注册它。

<activity android:name=".secondActivity" />

重新运行您的代码并重试。这次很可能会成功。

我希望这会有所帮助.. 编码愉快!

【讨论】:

【参考方案2】:

根据您提供的教程链接,第二个活动的名称是 NewActivity.class。在您的代码中,您似乎将其修改为 secondActivity.class。

所以请确保也显示它

 <activity android:name=".secondActivity" >
        </activity>

并且总是对类使用 PascalCase,对方法使用 camelCase

【讨论】:

【参考方案3】:

把这个代码sn-p:

public class MainActivity extends Activity 
    Button button;

    @Override
    public void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        // Get the view from activity_main.xml
        setContentView(R.layout.activity_main);

        // Locate the button in activity_main.xml
        button = (Button) findViewById(R.id.MyButton);

        // Capture button clicks
        button.setOnClickListener(new View.OnClickListener() 
            public void onClick(View arg0) 

                // Start NewActivity.class
                Intent myIntent = new Intent(MainActivity.this,
                        secondActivity.class);
                startActivity(myIntent);
            
        );
    


在 manifest.xml 中注册 secondActivity

<activity
            android:name=".secondActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="adjustResize" />

这可能对你有帮助

【讨论】:

以上是关于按钮不会重定向到活动,而是使应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章

Facebook apprequests 通知不会将用户重定向到应用程序

Laravel 重定向离开方法重定向到自己的域

如何在用户更新订阅条时设置重定向链接

如何使按钮将我的页面重定向到另一个页面? [复制]

如何使我网站中的此按钮重定向到网站上的另一个页面?

开始活动(意图);似乎总是使应用程序崩溃