2012-05-11 84 views
0

我正在学习android开发。我创建了一个由按钮(id:button1)组成的简单布局。我添加了一个OnClickListener到这个按钮,当点击它时,显示下一页(布局)。代码中似乎没有错误,但是当我运行它时,它只会崩溃。我尝试使用Android 2.3.3和2.2模拟器,但没有成功。当我注释掉onclicklistener部分时,应用程序运行。 我通过各种网站和问题进行搜索,但没有成功。 这里是Java代码:OnClickListener崩溃应用程序

package com.sid.next; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class mySplash extends Activity { 
    /** Called when the activity is first created. */ 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     final Button b1 = (Button)findViewById(R.id.button1); 
     b1.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 
       // TODO Auto-generated method stub 
       startActivity(new Intent("com.sid.next.SHOWMENU")); 
      } 
     }); 

    } 
} 

EDIT1: stacktrace

EDIT2:main.xml

EDIT3:解决!]我没有任何内容查看集为myMenu.java活动。不管怎么说,多谢拉!

edit4:改变android.R.id.button1R.id.button1

+3

如何张贴堆栈跟踪? –

+0

该怎么做?我是eclipse/java的新手。 – Siddhant

+0

嗨,什么是“SHOWMENU”?活动&类? –

回答

1

好的。所以最后我想到了我自己! 我没有为myMenu.java类设置任何contentView。

也改变了android.R.id.button1R.id.按钮1。 (来源:伊姆兰林蛙)

谢谢大家!

0

如果SHOWMENU是一个活动,然后在清单文件做声明。

由给定的数据,我认为这是你剩下的选择。

<activity 
     android:name=".SHOWMENU" 
     android:label="@string/app_name" /> 

添加<application > </application>标签里面你AndroidManifest.xml文件

只需复制并粘贴到您的XML

<application 
    android:icon="@drawable/icon" 
    android:label="@string/app_name" > 
    <activity 
     android:name="com.sid.next.SHOWMENU" 
     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="com.sid.next.SHOWMENU" 
     android:label="@string/app_name" /> 
</application> 
+0

我已经做到了 这里是我的清单文件: “<活动 机器人:名字= “MYMENU。” 机器人:标签= “@字符串/ APP_NAME”> <意图过滤器> <操作机器人: NAME = “com.sid.next.SHOWMENU”/> <类别机器人:名称= “android.intent.category.DEFAULT”/> ' – Siddhant

+0

其中i看不到。 。 – Bhavin

+0

http://pastebin.com/vGxq5itW – Siddhant

0

Rathter调用活动这样

startActivity(new Intent("com.sid.next.SHOWMENU")); 

尝试这种方式

Intent g = new Intent(new Intent(mySplash .this, SHOWMENU.class)); 
      startActivity(g); 
+0

nope。应用仍然崩溃。 – Siddhant

+0

点击按钮时它崩溃。 – Siddhant

+0

你使用了与我给你相同的代码 –

0

试试这个

Intent i = new Intent(new Intent(CURRENT_SCREEN_NAME.this, NEXT_SCREEN_NAME.class)); 
startActivity(i); 

,不要忘了在清单中的活动下写这个。

<activity android:name=".NEXT_SCREEN_NAME" ></activity> 
+0

不。点击按钮时应用程序崩溃。 – Siddhant

+0

如果在清单应用程序中未定义下一个活动,那么当您单击按钮时将会崩溃。 – sachi

+0

[解决!]我没有为myMenu.java活动设置任何contentview。不管怎么说,多谢拉! – Siddhant

1

替换

final Button b1 = (Button)findViewById(android.R.id.button1); 

通过:

final Button b1 = (Button)findViewById(R.id.button1); 

即替换android.R通过ř

+0

完成...但没有成功 – Siddhant

+0

[解决!]我没有为myMenu.java活动设置任何contentview。不管怎么说,多谢拉! – Siddhant

+0

这很好,你还在使用** android.R **还是** R **? –