如何在Android中使用按钮打开另一个活动
所以下面的代码没有执行正确的功能它被称为做 它应该打开一个新的活动,只需点击一个按钮,而不是 没有任何反应按钮显示并没有错误 和这个愚蠢的网站要求我解释多一点这样的IM正要类型的随机废话,直到它让我发表我的问题如何在Android中使用按钮打开另一个活动
package com.Tripp.thebasics;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class Menu extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//setting up the button references
Button jokeD = (Button) findViewById(R.id.jokeoftheday);
Button jokeC = (Button) findViewById(R.id.jokecatagories);
jokeD.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent(Menu.this, JokeOfTheDay.class));
}
});
jokeC.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent s = new Intent("com.Tripp.thebasics.JOKECATAGORIES");
startActivity(s);
}
});
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
}
}
帮助创建一个intent
,这样你可以调用单击按钮时的活动。还需要帮助的清单文件中声明的活动:
myBtn.setOnClickListener() {
public void onClick() {
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
}
}
欢迎来到Stack Overflow!你能否请你的答案给出解释为什么这个代码回答这个问题?仅限代码答案[不鼓励](http://meta.stackexchange.com/questions/148272),因为他们没有教导解决方案。 – DavidPostill 2015-03-25 08:37:03
好吧@ DavidPostill – 2015-03-25 08:48:56
你甚至没有setOnClickListener方法中所需的参数 – 2015-03-25 23:30:27
创建新的活动独立的XML和Java文件。
在点击监听器上创建像下面这样的按钮。
Button.setOnClickListener() { public void onClick() { Intent myintent = new Intent(this, newactivity.class); startActivity(myintent); } }
3.增加Android上的manifest.xml文件新的活动。
<application>
`<activity android:name=".classname" ></activity>`
</application
如果你想要更多的澄清,告诉我
是的我在使用“this”时发生错误,它说构造函数的意图是未定义的或某事。这也不是主要的活动类这是一个单独的类名为“菜单” – 2015-03-25 23:41:02
jokeD.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent(this, JokeOfTheDay.class));
}
});
并确保您有在AndroidManifest.xml新类:
<activity
android:name=".youractivitypackagename.JokeOfTheDay"
android:label="JokeOfTheDay" >
</activity>
编辑: 请在此处查看有关如何在Manifest中声明活动的更好解释,因为它取决于您声明包的方式:http://developer.android.com/guide/topics/manifest/manifest-intro.html。
如果你的包为您的类,例如,com.example.project.Test,那么你应该有以下的,在标签内:
<activity
android:name="com.example.project.Test.JokeOfTheDay"
android:label="JokeOfTheDay" >
</activity>
你的类命名空间?我会在哪里得到? – 2015-03-25 23:28:26
这里是它的外观,现在 – 2015-03-25 23:28:40
意图过滤器> – 2015-03-25 23:28:56
是否按照新的改变清单文件活动? – MeshBoy 2015-03-25 08:05:53
如果你是Android新手,那么通过这个网站,http://www.skholingua.com/android-basic/android-app-components/activity-intents,它可能会帮助你很多学习 – chiru 2015-03-25 08:44:18
是的清单文件被更改 – 2015-03-25 23:31:51