0

我是 android 开发的新手,并尝试使用 OnClickListener 设置 ImageView。单击 ImageView 后,我希望打开一个新活动。我在 XML 中创建了一个新菜单,我想打开它并在 Java 中引用它,并且根据我遵循的许多教程正确设置了所有内容。这是我的代码,希望有人可以提供帮助。

package com.youtube.iamjackpot;

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

public class searchmenu extends Activity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.searchmenu);

    ImageView SearchButton = (ImageView) findViewById(R.id.SearchButton);
    SearchButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent opensearchmenu = new Intent(
                    "com.youtube.iamjackpot.searchmenu");
            startActivity(opensearchmenu);
        }

    });

}
} 

这是我要打开的页面的 XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/searchmenu" >

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:background="@drawable/background_meduim"
    android:gravity="center_horizontal" >
</RelativeLayout>

</RelativeLayout>

这是我的主要 XML,其中包含“搜索按钮”ImageView

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >

<RelativeLayout
    android:id="@+id/TopTwoButtons"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:background="@drawable/background_meduim"
    android:gravity="center_horizontal" >

    <ImageView
        android:id="@+id/ListButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="35dp"
        android:layout_marginTop="130dp"
        android:src="@drawable/list_button_medium" />

    <ImageView
        android:id="@+id/SearchButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignTop="@+id/ListButton"
        android:layout_marginLeft="35dp"
        android:src="@drawable/search_button_medium" />

    <ImageView
        android:id="@+id/PopularButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/SearchButton"
        android:layout_below="@+id/SearchButton"
        android:layout_marginTop="86dp"
        android:src="@drawable/popular_button_medium" />

    <ImageView
        android:id="@+id/InfoButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/ListButton"
        android:layout_alignTop="@+id/PopularButton"
        android:src="@drawable/info_button_meduim"
         />

</RelativeLayout>



</RelativeLayout>

@blackbelt是的,很抱歉没有添加实际问题。当我单击“搜索”按钮时,什么都没有发生,就好像它根本没有设置一样。

4

4 回答 4

0

您正在以错误的方式创建 Intent,您需要使用要打开的 Activity 的 .class 引用:

Intent intent = new Intent(searchmenu.this, youractivityclassname.class);
startActivity(intent);
于 2013-06-30T16:52:36.547 回答
0

使用此代码

Intent opensearchmenu = new Intent(searchmenu.this,
                "Actvity name");
        startActivity(opensearchmenu);

例如

 Intent opensearchmenu = new Intent(searchmenu.this,
                FirstActivity.class);
        startActivity(opensearchmenu);

注意:Activiy 名称将是您想要在 imageview 单击时打开的类名称。

于 2013-06-30T16:54:18.757 回答
0

尝试在您的代码中进行此更改- Intent opensearchmenu = new Intent(SearchMenu.this,newActivity.class); startActivity(opensearchmenu);

于 2013-06-30T16:54:47.977 回答
0

首先,您将其他活动添加到清单中,然后您可以使用 .

Intent intent = new Intent(SearchMenu.this, MyOtherActivity.class);
startActivity(intent);

例如:

<activity android:name="MyOtherActivity" />
于 2013-06-30T18:49:58.017 回答