2011-12-26 64 views
1

这似乎是一个简单的功能,但我已经阅读和审查了无数的教程,并尝试多次,以使其发挥作用,我仍然没有成功。如何在点击后激活一个按钮切换到另一个布局?

我有标题为“主”开幕XML页面 我有第二个XML页面标题为“菜单” 我有标题为“ButtontestingActivity.java” 一号java的活动我都第二个java活动名为“菜单”

在ButtontestingActivity.java我有...

package com.package2.Buttontesting; 

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

public class ButtontestingActivity extends Activity { 


@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    Button Button1 = (Button) findViewById(R.id.sweetness); 
    Button1.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      startActivity(new Intent("com.package2.Buttontesting.MENU")); 
     } 
    }); 

} 
@Override 
protected void onPause() { 
    super.onPause(); 
} 

} 

main.xml中我有...

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@drawable/splash" 
android:orientation="vertical" > 

<Button 
    android:id="@+id/sweetness" 
    android:layout_width="40dp" 
    android:layout_height="78dp" 
    android:layout_marginLeft="52dp" 
    android:layout_marginTop="40dp" 
    android:visibility="visible" 
    /> 

</LinearLayout> 

在清单我...

<application 
    android:icon="@drawable/face" 
    android:label="@string/app_name" > 
    <activity 
     android:label="@string/app_name" 
     android:name=".ButtontestingActivity" > 
     <intent-filter > 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:label="@string/app_name" 
     android:name=".Menu" > 
     <intent-filter > 
      <action android:name="com.package2.Buttontesting.MENU" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

,我有机器人:背景=“@绘制/菜单”以我menu.xml文件

当我安装的应用程序在我的AVD第一布局显示但是当我按下按钮打开第二个布局时,AVD发送消息

“应用程序Buttontesting(process com.package2.Buttontesting)已意外停止。请重试”

,然后我返回到应用程序菜单。

+1

请添加您在logcat中越来越错误信息,它可以帮助在得到准确的答案。 – kosa 2011-12-26 17:24:44

回答

0

使用

startActivity(new Intent(ButtontestingActivity.this, Menu.class)); 

startActivity(new Intent(ButtontestingActivity.this, com.package2.Buttontesting.Menu.class)); 

而且还从你的菜单中删除的活动意图滤波器块,因为应用只能有一个发射器活动。

+1

还要从xml文件中删除第二个意图过滤器。 – Yury 2011-12-26 17:26:43

+0

谢谢,我错过了 – 2011-12-26 17:29:42

2

试试这个:

Intent intent = new Intent(ButtontestingActivity.this,Menu.class); 
startActivity(intent); 

也从清单文件中删除此:

<intent-filter > 
     <action android:name="com.package2.Buttontesting.MENU" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 

<activity 
    android:label="@string/app_name" 
    android:name=".Menu" > 
+0

美丽!它工作感谢 – user1091368 2011-12-26 18:48:48

相关问题