使用android(Eclipse)将按钮链接到页面-无法使其工作

使用android(Eclipse)将按钮链接到页面-无法使其工作,android,Android,我是Android开发的新手,也是这个网站的新手! 我已经做了一些教程等,目前正在做一个项目,并仔细查看了类似问题的其他答案,但没有找到我想要的,但有很多好的建议 我试图让我的主屏幕上的按钮链接到各个页面。我用我的手机代替模拟器,但每次我点击一个按钮,应用程序就会死掉。。。你能帮我吗 这是按钮1的主屏幕代码: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

我是Android开发的新手,也是这个网站的新手! 我已经做了一些教程等,目前正在做一个项目,并仔细查看了类似问题的其他答案,但没有找到我想要的,但有很多好的建议

我试图让我的主屏幕上的按钮链接到各个页面。我用我的手机代替模拟器,但每次我点击一个按钮,应用程序就会死掉。。。你能帮我吗

这是按钮1的主屏幕代码:

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