Android 新的应用程序开发。创建将一个类链接到另一个类的按钮?
我创建了两个类。我想在第1类(MainActivity)上有一个按钮,当按下它时,它将带我到第2类(字母表)。我尝试过很多方法,但都没有成功。下面是我的原始代码。有人能帮我吗? 对不起,我是应用程序开发新手Android 新的应用程序开发。创建将一个类链接到另一个类的按钮?,android,helper,helpers,Android,Helper,Helpers,我创建了两个类。我想在第1类(MainActivity)上有一个按钮,当按下它时,它将带我到第2类(字母表)。我尝试过很多方法,但都没有成功。下面是我的原始代码。有人能帮我吗? 对不起,我是应用程序开发新手 package com.example.lullabymain; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.media.AudioMa
package com.example.lullabymain;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends Activity implements OnClickListener {
private MediaPlayer mp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// new code
setVolumeControlStream(AudioManager.STREAM_MUSIC);
findViewById(R.id.button1).setOnClickListener(this);
findViewById(R.id.button2).setOnClickListener(this);
findViewById(R.id.button3).setOnClickListener(this);
findViewById(R.id.button4).setOnClickListener(this);
findViewById(R.id.button5).setOnClickListener(this);
}
public void onClick(View v) {
int resId = 0;
switch (v.getId()) {
case R.id.button1: resId = R.raw.rockabye; break;
case R.id.button2: resId = R.raw.hushlittlebaby; break;
case R.id.button3: resId = R.raw.twinkle; break;
case R.id.button4: resId = R.raw.hickory; break;
case R.id.button5: resId = R.raw.oldmcd; break;
}
//release any resources from previous mediaplayer
if (mp != null) {
mp.release();
}
//create a new mediaplayer to play this sound
mp = MediaPlayer.create(this, resId);
mp.start();
}
@Override
protected void onStop()
{
//stop audio
super.onStop();
mp.stop();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
下面的代码是我尝试的代码,其中包括“意图”
package com.example.lullabymain;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends Activity implements OnClickListener {
private MediaPlayer mp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// new code
**View button6 = findViewById(R.id.button6);
button6.setOnClickListener(this);**
setVolumeControlStream(AudioManager.STREAM_MUSIC);
findViewById(R.id.button1).setOnClickListener(this);
findViewById(R.id.button2).setOnClickListener(this);
findViewById(R.id.button3).setOnClickListener(this);
findViewById(R.id.button4).setOnClickListener(this);
findViewById(R.id.button5).setOnClickListener(this);
}
public void onClick(View v) {
int resId = 0;
switch (v.getId()) {
case R.id.button1: resId = R.raw.rockabye; break;
case R.id.button2: resId = R.raw.hushlittlebaby; break;
case R.id.button3: resId = R.raw.twinkle; break;
case R.id.button4: resId = R.raw.hickory; break;
case R.id.button5: resId = R.raw.oldmcd; break;
**case R.id.button6:
Intent i = new Intent(this, Alphabet.class);
startActivity(i);
break;**
}
//release any resources from previous mediaplayer
if (mp != null) {
mp.release();
}
//create a new mediaplayer to play this sound
mp = MediaPlayer.create(this, resId);
mp.start();
}
@Override
protected void onStop()
{
//stop audio
super.onStop();
mp.stop();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
当前,在MainActivity活动中,您没有将setOnClickListener添加到button6,但在onClick方法中,您尝试在button6单击时启动活动。要使代码正常工作,请将
setOnClickListener
添加到按钮6
public class MainActivity extends Activity implements OnClickListener {
private MediaPlayer mp;
Button button6 ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// new code
button6 = (Button)findViewById(R.id.button6);
button6.setOnClickListener(this);
并将清单中的字母表活动注册为:
<activity android:name=".Alphabet" />
当您设置{this}的上下文时,您正在使用onClickListener的{this}。使用getApplicationContext() 代码抛出的错误是什么
package com.example.lullabymain;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends Activity implements OnClickListener {
private MediaPlayer mp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// new code
Button button6 = (Button)findViewById(R.id.button6);
button6.setOnClickListener(this);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
findViewById(R.id.button1).setOnClickListener(this);
findViewById(R.id.button2).setOnClickListener(this);
findViewById(R.id.button3).setOnClickListener(this);
findViewById(R.id.button4).setOnClickListener(this);
findViewById(R.id.button5).setOnClickListener(this);
}
public void onClick(View v) {
int resId = 0;
switch (v.getId()) {
case R.id.button1: resId = R.raw.rockabye; break;
case R.id.button2: resId = R.raw.hushlittlebaby; break;
case R.id.button3: resId = R.raw.twinkle; break;
case R.id.button4: resId = R.raw.hickory; break;
case R.id.button5: resId = R.raw.oldmcd; break;
case R.id.button6:
Intent i = new Intent(getApplicationContext(), com.example.lullabymain.Alphabet.class);
startActivity(i);
break;
}
//release any resources from previous mediaplayer
if (mp != null) {
mp.release();
}
//create a new mediaplayer to play this sound
mp = MediaPlayer.create(this, resId);
mp.start();
}
@Override
protected void onStop()
{
//stop audio
super.onStop();
mp.stop();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}您需要做的是在所需按钮上单击“侦听器”进行设置 然后是打算去你的新课,例如 Intent i5=新Intent(这个,HadithList.class);
星触觉(i5) 如果你想进行定制编码,你需要学习Objective-C或Swift等语言来开发iOS应用程序。或者另一种方式是移动应用开发平台。借助应用程序开发工具,您可以使用拖放功能开发应用程序,而无需编写一行代码 我是一名iOS应用程序开发人员,我尝试过大多数移动应用程序开发平台。到今天为止,在Phonegap、Telerik、Configure.IT等的帮助下,我已经开发了50多个应用程序。它们在app store上成功运行 根据我在这一领域的经验,我建议开发者和初学者使用移动应用程序开发平台,如,因为它提供自动编码、应用程序预览功能、直接API连接和更多功能。这些东西可以节省更多的开发时间,并在更短的时间内提供快速且设计良好的应用程序
此工具的主要优点是,它是基于web的平台,因此您无需购买Mac系统,您可以从任何地方以及任何系统制作应用程序。字母表是一项活动,是否添加到您的清单中?如何以及在何处将其添加到我的清单中@RvdKIt在他的代码中,View button6=findviewbyd(R.id.button6);按钮6.setOnClickListener(此)@伊姆兰·卡恩:我有一个setOnClickListenr(这个);已经有了吗?我可以为它添加一些东西吗@RvdK会认为创建一个按钮链接到另一个类很简单吗?@imrankhan我刚刚尝试了你的代码,但没有成功?对不起,听起来很愚蠢。只是挣扎here@user1879688:您在单击按钮时遇到任何异常?尝试了您的代码。它要求有一个导入android.widget.Button;我确实这么做了。然后当它在adk上运行时,我点击了按钮,应用程序因为一些“不幸的错误”而关闭了?我从未见过这样的事。。。那是LogCat的吗?还是编译错误?但是,我确实忘记了正确关闭函数,所以请查看我的编辑,看看这是否修复了任何问题。如果仍然出现问题,请尝试并在Eclipse中单击:Project->Clean我尝试了您的确切代码,它要求我导入android.widget.Button;as Button button6=(Button)findViewById(R.id.button6);否则会出现错误@viksJust add import android.widget.Button;导入android.view.view.OnClickListener后;你只是病了。你是怎么做到的?谢谢
package com.example.lullabymain;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends Activity implements OnClickListener {
private MediaPlayer mp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// new code
Button button6 = (Button)findViewById(R.id.button6);
button6.setOnClickListener(this);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
findViewById(R.id.button1).setOnClickListener(this);
findViewById(R.id.button2).setOnClickListener(this);
findViewById(R.id.button3).setOnClickListener(this);
findViewById(R.id.button4).setOnClickListener(this);
findViewById(R.id.button5).setOnClickListener(this);
}
public void onClick(View v) {
int resId = 0;
switch (v.getId()) {
case R.id.button1: resId = R.raw.rockabye; break;
case R.id.button2: resId = R.raw.hushlittlebaby; break;
case R.id.button3: resId = R.raw.twinkle; break;
case R.id.button4: resId = R.raw.hickory; break;
case R.id.button5: resId = R.raw.oldmcd; break;
case R.id.button6:
Intent i = new Intent(getApplicationContext(), com.example.lullabymain.Alphabet.class);
startActivity(i);
break;
}
//release any resources from previous mediaplayer
if (mp != null) {
mp.release();
}
//create a new mediaplayer to play this sound
mp = MediaPlayer.create(this, resId);
mp.start();
}
@Override
protected void onStop()
{
//stop audio
super.onStop();
mp.stop();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}