使用android(Eclipse)将按钮链接到页面-无法使其工作
我是Android开发的新手,也是这个网站的新手! 我已经做了一些教程等,目前正在做一个项目,并仔细查看了类似问题的其他答案,但没有找到我想要的,但有很多好的建议 我试图让我的主屏幕上的按钮链接到各个页面。我用我的手机代替模拟器,但每次我点击一个按钮,应用程序就会死掉。。。你能帮我吗 这是按钮1的主屏幕代码:使用android(Eclipse)将按钮链接到页面-无法使其工作,android,Android,我是Android开发的新手,也是这个网站的新手! 我已经做了一些教程等,目前正在做一个项目,并仔细查看了类似问题的其他答案,但没有找到我想要的,但有很多好的建议 我试图让我的主屏幕上的按钮链接到各个页面。我用我的手机代替模拟器,但每次我点击一个按钮,应用程序就会死掉。。。你能帮我吗 这是按钮1的主屏幕代码: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Declaring and defining the buttons used
Button student1 = (Button) findViewById(R.id.button1);
// Setting the onClickListener for button1
student1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
//calling the page1 function
page1(view);
}
});
这是page1功能:
public void page1(View view) {
Intent intent = new Intent(this, Page1.class);
startActivity(intent);
}
以下是Page1类文件的代码:
public class Page1 extends ActionBarActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.page_1);
}
}
这是布局文件的代码:page_1.xml
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="shannon.white.finalyear.DisplayMessageActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content">
如果你还需要什么,请告诉我
有什么想法吗
谢谢:您的编码看起来是正确的 接下来要检查的是查看AndroidManifest.xml文件,确保您已将活动添加到该文件中,以便android操作系统知道它的存在。您可以这样添加它:
<activity android:name="Page1" />
如果您的活动所在的包与清单文件中声明的包不同,则需要在名称中指定完整的包,如下所示:
<activity android:name="some.other.package.name.Page1" />
这就是我从提供的代码中所能说的全部内容。如果您只是在启动另一个名为Page1.class的活动,那么您的代码看起来是正确的,并且您可能缺少上面提到的清单声明。请尝试移动以下代码
// Declaring and defining the buttons used
Button student1 = (Button) findViewById(R.id.button1);
// Setting the onClickListener for button1
student1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
}
在page1函数下面,代码如下所示:
public void page1(View view) {
Button student1 = (Button) findViewById(R.id.button1); // Declaring and defining the buttons used
student1.setOnClickListener(new View.OnClickListener() { // Setting the onClickListener for button1
@Override
public void onClick(View v) {
startActivity(intent);
Intent intent = new Intent(this, Page1.class);
}
}
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
page1(view); // NOTE I'm now declaring it on the onCreate instead of onClick
}
您的onCreate如下所示:
public void page1(View view) {
Button student1 = (Button) findViewById(R.id.button1); // Declaring and defining the buttons used
student1.setOnClickListener(new View.OnClickListener() { // Setting the onClickListener for button1
@Override
public void onClick(View v) {
startActivity(intent);
Intent intent = new Intent(this, Page1.class);
}
}
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
page1(view); // NOTE I'm now declaring it on the onCreate instead of onClick
}
如果这没有帮助,那么您的代码看起来仍然更干净。可能只是我的强迫症
这是一个非常好的教程,由Mkyong关于如何实现你要做的事情。如果没有其他答案,使用本教程重新启动可能会帮助您成功。我曾多次测试过他的代码,测试结果也很好。你应该看看你的崩溃日志,看看你的应用程序为什么会死掉。或者你可以把它贴在这里,这样其他人可以更好地帮助你。太好了,谢谢你!我在清单文件中有活动,但是更改名称以包含包名起作用了!再次感谢!:嘿,非常感谢你的回答!它没有工作,但现在我的代码看起来好多了,你链接我的教程非常棒!谢谢:D