-2

我做了一个简单的安卓程序。

它的作用:在启动时它显示一个文本和一个按钮。按钮上有一个数字,每次触摸都会增加。在 2 到 10 之间的按钮上的随机数字处,会显示一张图片 + 一个声音剪辑。

这就是它的作用。所以当它显示图片时,应用程序就完成了。

我现在要做的是创建一个触摸功能,将我引导回应用程序启动页面。为此,我需要你的帮助。我曾尝试在互联网上搜索解决方案,但由于我是初学者,因此我不知道如何在我的代码中实现它。

这是我的代码:

package net.ibasic;

import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

public class HelloAndroidActivity extends Activity implements OnClickListener {
private int i = 0;
public int low = 2;
public int high = 10;
public int num = low + (int) ( Math.random()*(high -low) + 0.5 );
MediaPlayer mpAudio;
MediaPlayer mpAudio1;
/** Called when the activity is first created. */ 
@Override

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.main);
    //creating the setContentView by java-code instead of Xml
    LinearLayout linearLayout = new LinearLayout(this);
    linearLayout.setOrientation(LinearLayout.VERTICAL);

    TextView textView = new TextView(this);
    textView.setText(R.string.hello);

    linearLayout.addView(textView);

    //creating a button for the app
    Button button = new Button(this);
    linearLayout.addView(button);

    setContentView(linearLayout);
    update(button);

    //adding buttonListener
    button.setOnClickListener(this);
    mpAudio = MediaPlayer.create(this, R.raw.kitten);
    mpAudio1 = MediaPlayer.create(this, R.raw.scary);
}



private void update(Button button) {
    button.setText("Amount of Clicks " + i++);

}

public void onClick(View button) {
    update((Button)button);

    if (i==num){

        LinearLayout linearLayout = new LinearLayout(this);
        linearLayout.setOrientation(LinearLayout.VERTICAL);

        if (num % 2 == 0){
        mpAudio.start();
        ImageView imageView = new ImageView(this);
        imageView.setImageResource(R.drawable.kitten);

        TextView textView1 = new TextView(this);
        textView1.setText(R.string.kittentext);
        linearLayout.addView(textView1);
        linearLayout.addView(imageView);

        }
        else{
            mpAudio1.start();
            ImageView imageView = new ImageView(this);
            imageView.setImageResource(R.drawable.scary);

            TextView textView1 = new TextView(this);
            textView1.setText(R.string.scarytext);
            linearLayout.addView(textView1);
            linearLayout.addView(imageView);

        }




        setContentView(linearLayout);
    }
}
}
4

1 回答 1

2

完成后,使用以下代码重新启动您的活动:

Intent intent = getIntent();
finish();
startActivity(intent); //

参考


您可以通过单击按钮执行此操作/也可以使用performClick()按钮对象上的方法或任何时候自动单击按钮。

于 2012-05-28T22:01:29.390 回答