我创建了两个类。我希望在1级(MainActivity)上有一个按钮,当按下它时,它将带我到2级(字母表)。我尝试了很多方法,但我没有成功。这是我的原始代码如下。谁能帮我? 对不起,我是app app的新手。
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;
}
}
以下代码是我尝试的代码,其中包含“Intent”
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;
}
}
答案 0 :(得分:2)
如果您想进行自定义编码,您需要学习Objective-C或Swift等语言来开发iOS应用程序。或者另一种方式是移动应用开发平台。借助应用程序开发工具,您可以使用拖动和开发工具开发应用程序。删除设施而不写一行代码。
我是iOS应用开发者,我尝试过大多数移动应用开发平台。到目前为止,我已经在Phonegap,Telerik,Configure.IT等的帮助下开发了50多个应用程序。它们在应用商店中成功运行。
根据我在该领域的经验,我建议开发人员和初学者使用移动应用开发平台,如http://www.configure.it/,因为它提供自动编码,应用预览功能,直接API连接和更多功能。这些东西可以节省更多的开发时间,并且可以在更短的时间内提供快速且设计良好的应用程序。
此工具的主要优点是,它是基于网络的平台,因此您无需购买Mac系统,您可以从任何地方以及任何系统制作应用程序。
答案 1 :(得分:1)
目前在MainActivity Activity中,您没有将setOnClickListener添加到button6,但在onClick方法中,您尝试在button6上单击启动Activity。要使您的代码正常工作,请将setOnClickListener
添加到button6也作为
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);
并在Manifest中注册Alphabet Activity:
<activity android:name=".Alphabet" />
答案 2 :(得分:0)
当您设置{this}的上下文时,您正在使用onClickListener的{this}。使用getApplicationContext();
Button button6 = (Button)findViewById(R.id.button6);
button6.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
startActivity(new Intent(getApplicationContext(), Alphabet.class));
}
});
您的代码会抛出哪些错误?
答案 3 :(得分:0)
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;
}
}
答案 4 :(得分:0)
您需要做的是在所需按钮上单击侦听器 然后是Intents去你的新班级 Intent i5 = new Intent(this,HadithList.class); startActivity(I5);