android OnTouch startActivity导致强制关闭

时间:2013-12-22 17:40:59

标签: android android-layout android-intent ontouchlistener

我想制作触摸屏以实现另一种布局 我已经制作了onTouchListener

这是我的代码:

  package com.example.final_project;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.Menu;

import android.view.MotionEvent;

import android.view.View;

import android.view.View.OnTouchListener;

import android.widget.RelativeLayout;

public class MainActivity extends Activity implements OnTouchListener{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        View view = getLayoutInflater().inflate(R.layout.activity_main, null);
        setContentView(view);
        view.setOnTouchListener(this);
            }
            @Override
            public boolean onTouch(View to_main, MotionEvent event) {
                // TODO Auto-generated method stub
                Intent i = new Intent(MainActivity.this, sort.class);
                startActivity(i);
                return false;
                }

            }

即使我尝试创建另一个touch.class仍然关闭

   package com.example.final_project;

import android.content.Context;

import android.graphics.Canvas;

import android.widget.RelativeLayout;


public class touch extends RelativeLayout {

public touch(Context context) {

        super(context);

        // TODO Auto-generated constructor stub

     }

     @Override

     protected void onDraw(Canvas canvas) {

         if (getX() != 0 && getY() != 0) {

             canvas.translate(getX(), getY());

         }

         super.onDraw(canvas);

            }
        }

这是sort.class代码

    package com.example.final_project;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class sort extends Activity {
    Button toMessage;
    Button toBoard;
    Button toMain;
    Intent iMain = getIntent();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        toMessage = (Button)findViewById(R.id.tomessage);
        toBoard = (Button)findViewById(R.id.toboard);
        toMain = (Button)findViewById(R.id.tomain);

        toMessage.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent i = new Intent(sort.this , choose.class);
                startActivity(i);
            }
        });

        toBoard.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent i2 = new Intent(sort.this , board.class);
                startActivity(i2);
            }
        });

        toMain.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent i3 = new Intent(sort.this , MainActivity.class);
                startActivity(i3);
            }
        });
    }
}

“我想制作触摸屏以实现另一种布局”,这就像游戏中的一些 开始视图有“触摸此处开始”和LogCat显示“MainActivity [line:23] - onTouch(View,MotionEvent)”

1 个答案:

答案 0 :(得分:0)

您没有为排序活动设置setContentView,请在活动文件中添加以下代码。

setContentView(yourview);