Android的图像按钮开启新活动 [英] Android image button open new activity

查看:147
本文介绍了Android的图像按钮开启新活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从Android中的图像按钮,打开新的活动。我试着用这个code,但不起作用。

main.class

 进口android.app.Activity;
进口android.content.Intent;
进口android.os.Bundle;
进口android.content.Context;
进口android.view.View;
进口android.widget.ImageButton;
公共类主要活动扩展{@覆盖
保护无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.main);
    openMenu();
}公共无效openMenu(){    最后上下文的背景下=这;    的ImageButton imgbtn =(的ImageButton)findViewById(R.id.menu_button);    imgbtn.setOnClickListener(新View.OnClickListener(){        @覆盖
        公共无效的onClick(视图v){            意图菜单=新意图(背景下,menu.class);
            startActivity(菜单);        }    });
}}

menu.class

 公共类菜单扩展活动{@覆盖
保护无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.menu);
}

错误:
android.content.ActivityNotFoundException:无法找到明确的活动类{dev.com.test / dev.com.test.menu};有你宣布你的Andr​​oidManifest.xml这个活动?
我的回答:是的。

 <应用
    机器人:allowBackup =真
    机器人:图标=@绘制/图标
    机器人:标签=@字符串/ APP_NAME
    机器人:主题=@风格/ AppTheme>
    <活动
        机器人:主NAME =
        机器人:标签=@字符串/ APP_NAME>
        &所述;意图滤光器>
            <作用机器人:名字=android.intent.action.MAIN/>            <类机器人:名字=android.intent.category.LAUNCHER/>
        &所述; /意图滤光器>
    < /活性GT;
< /用途>


解决方案

只要确保你的Andr​​oidManifest看起来像这样

 <应用
         机器人:allowBackup =真
         机器人:图标=@绘制/图标
         机器人:标签=@字符串/ APP_NAME
         机器人:主题=@风格/ AppTheme>
    <活动
    机器人:主NAME =
    机器人:标签=@字符串/ APP_NAME>
        &所述;意图滤光器>
            <作用机器人:名字=android.intent.action.MAIN/>            <类机器人:名字=android.intent.category.LAUNCHER/>
        &所述; /意图滤光器>
    < /活性GT;    <活动
     安卓:名称=菜单> //你需要添加应用里面这些标签的3行。
    < /活性GT;< /用途>

错误 android.content.ActivityNotFoundException:无法找到明确的活动类{dev.com.test / dev.com.test.menu};有你在你的Andr​​oidManifest.xml?宣布本次活动是非常开门见山。当你创建一个新的活动,确保这项活动是注册在的Andr​​oidManifest.xml 应用标签内。

I would like to open new activity from an image button in android. I tried with this code, but doesn't work.

main.class

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


public class main extends Activity {

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

public void openMenu() {

    final Context context = this;

    ImageButton imgbtn = (ImageButton) findViewById(R.id.menu_button);

    imgbtn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            Intent menu = new Intent(context, menu.class);
            startActivity(menu);

        }

    });
}

}

menu.class

public class menu extends Activity {

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

the error: android.content.ActivityNotFoundException: Unable to find explicit activity class {dev.com.test/dev.com.test.menu}; have you declared this activity in your AndroidManifest.xml? My answer: yes

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

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

解决方案

Just make sure your AndroidManifest looks like this

    <application
         android:allowBackup="true"
         android:icon="@drawable/icon"
         android:label="@string/app_name"
         android:theme="@style/AppTheme" >
    <activity
    android:name=".main"
    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">      // you need to add these 3 lines inside application tag.
    </activity>

</application>

The error android.content.ActivityNotFoundException: Unable to find explicit activity class {dev.com.test/dev.com.test.menu}; have you declared this activity in your AndroidManifest.xml? is very much straight to the point. Whenever you create a new activity, make sure that activity is registered in AndroidManifest.xml inside the application tag.

这篇关于Android的图像按钮开启新活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆