Android 新的应用程序开发。创建将一个类链接到另一个类的按钮?

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

我创建了两个类。我想在第1类(MainActivity)上有一个按钮,当按下它时,它将带我到第2类(字母表)。我尝试过很多方法,但都没有成功。下面是我的原始代码。有人能帮我吗? 对不起,我是应用程序开发新手

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;
}