按钮不会重定向到活动,而是使应用程序崩溃
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" />
这可能对你有帮助
【讨论】:
以上是关于按钮不会重定向到活动,而是使应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章