gpt4 book ai didi

java - 程序运行没有错误,但按钮打不开

转载 作者:行者123 更新时间:2023-12-02 05:16:54 27 4
gpt4 key购买 nike

我一直在关注 youtube 上的 mybringback 教程,并尝试实现我学到的东西。试图在我的主页上找到一个按钮来打开另一个页面。终于让程序运行没有错误,但现在当我按下按钮时什么也没有打开。

我的按钮所在的主 .xml 文件

<Button
android:id="@+id/btnChpt3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:text="Appearance and Grooming Policies"
android:textSize="18sp"
android:textStyle="bold|italic"
android:gravity="center"
/>

我试图访问的 .xml 文件的名称是 Chapter3.xml

菜单.java

package com.th3ramr0d.learnar670_1;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Menu extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Button chapterThree = (Button) findViewById(R.id.btnChpt3);

chapterThree.setOnClickListener(new View.OnClickListener() {

// @Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent("com.th3ramr0d.learnar670_1.CHAPTER3"));

}
});
}

@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
}

}

还有我的 list 。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.th3ramr0d.learnar670_1"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="21" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<activity
android:name=".Menu"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.th3ramr0d.learnar670_1.MENU" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

<activity
android:name=".Chapter3"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.th3ramr0d.learnar670_1.CHAPTER3" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>

</manifest>

所以按钮 id 为 btnChpt3 不会打开我名为 Chapter3.xml 的 .xml 文件。感谢您的帮助。

这是我的 Chapter3.java

 package com.th3ramr0d.learnar670_1;

import android.app.Activity;
import android.os.Bundle;

public class Chapter3 extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.chapter3);
}


}

这是我的 MainActivity.java

 package com.th3ramr0d.learnar670_1;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;


public class MainActivity extends Activity {

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

}




@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}

最佳答案

复制此内容并粘贴到您的 AndroidManifest 中并尝试,

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.th3ramr0d.learnar670_1"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="21" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".Menu"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Chapter3"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.th3ramr0d.learnar670_1.CHAPTER3" />

<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>

</manifest>

为了帮助您理解问题,

<category android:name="android.intent.category.LAUNCHER" />

上面 AndroidManifest 中的代码定义了按下应用程序图标时要启动的 Activity 。根据您之前的 list ,它会启动 Activity MainActivity,默认情况下也会将其设置为 setContentView(R.layout.activity_main);,因为 IDE 创建 Hello World 程序。

因此,当您启动应用程序时,正在加载其 MainActivity (看起来与您设计的布局相同),而不是您想要加载的 Menu Activity 。因此,我们在声明 Menu Activity 的 list 中做了一些更改,因为启动器现在启动 Menu Activity ,其中包含处理按钮单击的代码段。

我希望这有帮助!

关于java - 程序运行没有错误,但按钮打不开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26839424/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com