我是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是的,抱歉没有添加实际问题。当我点击“搜索”按钮时,没有任何事情发生,好像它根本没有设置。
答案 0 :(得分:0)
你以错误的方式创建你的Intent,你需要使用你要打开的Activity的.class引用:
Intent intent = new Intent(searchmenu.this, youractivityclassname.class);
startActivity(intent);
答案 1 :(得分:0)
使用此代码
Intent opensearchmenu = new Intent(searchmenu.this,
"Actvity name");
startActivity(opensearchmenu);
例如
Intent opensearchmenu = new Intent(searchmenu.this,
FirstActivity.class);
startActivity(opensearchmenu);
注意:活动名称将是您要在imageview上打开的类名。
答案 2 :(得分:0)
在代码中尝试此更改 -
Intent opensearchmenu = new Intent(SearchMenu.this,newActivity.class);
startActivity(opensearchmenu);
答案 3 :(得分:0)
首先将其他活动添加到清单中,然后就可以使用。
Intent intent = new Intent(SearchMenu.this, MyOtherActivity.class);
startActivity(intent);
举个例子:
<activity android:name="MyOtherActivity" />