添加触摸事件到Android应用程序

时间:2012-05-28 20:46:29

标签: java android touch

我制作了一个简单的Android程序。

它的作用: 启动时会显示文本和按钮。按钮上的数字会在每次触摸时增加。在2到10之间的按钮上的随机数字处,图片显示为+ ssoundclip。

这就是它的作用。因此,当它显示图片时,应用程序已完成。

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

这是我的代码:

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

1 个答案:

答案 0 :(得分:2)

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

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

Reference


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