簡體   English   中英

Android圖像按鈕打開新活動

[英]Android image button open new activity

我想從android中的圖像按鈕打開新活動。 我嘗試使用此代碼,但不起作用。

主類

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);
}

錯誤:android.content.ActivityNotFoundException:無法找到顯式活動類{dev.com.test / dev.com.test.menu}; 您是否在AndroidManifest.xml中聲明了此活動? 我的回答:是的

<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>

不,您尚未將其包含在清單中。 您所包含的是主要活動。 但是您必須包括所有活動,包括您要創建的新活動。 這是一個示例(您可能需要更改軟件包名稱):

<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="com.test.menu"
    android:label="My second activity"
    android:parentActivityName="com.test.main" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.test.main" />
    </activity>

</application>

只要確保您的AndroidManifest看起來像這樣

    <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>

錯誤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? 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? 非常直截了當。 每當您創建新活動時,請確保該活動已在application標簽內的AndroidManifest.xml注冊。

 ImageButton mainButton = (ImageButton) findViewById(R.id.imageButton);
        mainButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                Intent intent = new Intent(context, MainActivity2.class);
                startActivity(intent);

            }
        });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM