마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

setContentView

0 추천

질문그대로 setContentView이후그페이지에서 먹통입니다....setContentView설정해준페이지에서버튼도먹통이구요...ㅜㅠㅠ

익명사용자 님이 2017년 12월 13일 질문
package com.example.admin.sibar;

import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;

/**
 * Created by admin on 2017-12-13.
 */

public class gameover extends AppCompatActivity  {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.gameover);

        Button again = (Button)findViewById(R.id.btn_again);
        again.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                setContentView(R.layout.activity_main);


    }
});
    }
}
이런코드구요이후에
Gameover 화면에서 "again" 버튼을 눌렀을때 메인화면으로 이동이 안된다는 말씀이신가요?

그리고 setContentView를 잘못 사용하고 계신것 같습니다. setContentView는 페이지 이동이 아닌 화면에 표시할 뷰를 설정하는 것으로 화면이동 하실때에는 startActivity 같은 함수를 이용하셔야 합니다.

1개의 답변

0 추천
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    Button Rbutton = (Button) findViewById(R.id.btn_R);
    Button Lbutton = (Button) findViewById(R.id.btn_L);
    Rbutton.setOnClickListener(this);
    Lbutton.setOnClickListener(this);
    setX = 120;
    setY = -80;
    //pos_Mycar_x = 180;
    //pos_Mycar_y = 700;
    bullet_vx=0;
    bullet_vy=0;
    ActionBar actionBar = getSupportActionBar();
    actionBar.hide();
    ivImage = (ImageView) findViewById(R.id.Mycar);
    ivImage1 = (ImageView) findViewById(R.id.Ecar1);
    ivImage2 = (ImageView) findViewById(R.id.Ecar2);
    mText=(TextView)findViewById(R.id.text);
    mHandler.sendEmptyMessage(0);



}
Handler mHandler = new Handler() {
    public void handleMessage(Message msg) {
        ivImage1.setY(1);
        ivImage2.setY(1);
        ivImage.setX(pos_Mycar_x);
        if(pos_Mycar_y>673) {
            pos_Mycar_y = 0;
            if(pos_Mycar_x<80) {
                pos_Mycar_z = pos_Mycar_z + (int) ((Math.random() * 10))%5*160;
            }
            else if(pos_Mycar_x>295){
                pos_Mycar_z = pos_Mycar_z - (int) ((Math.random() * 10))%5*160;
            }
            if(pos_Mycar_s<80) {
                pos_Mycar_s = pos_Mycar_s + (int) ((Math.random() * 10))%10*160;
            }
            else if(pos_Mycar_x>295){
                pos_Mycar_s = pos_Mycar_s - (int) ((Math.random() * 10))%5*160;
            }
            ivImage1.setY(pos_Mycar_y);
            ivImage2.setY(pos_Mycar_y);
            ivImage1.setX(pos_Mycar_s);
            ivImage2.setX(pos_Mycar_z);

        }
        else {
            pos_Mycar_y = pos_Mycar_y + 1;
            ivImage1.setY(pos_Mycar_y);
            ivImage2.setY(pos_Mycar_y);
        }
        if(pos_Mycar_y>=100&&pos_Mycar_y<=706&&pos_Mycar_x+120>=pos_Mycar_z&&pos_Mycar_x-120<=pos_Mycar_z){
            value = 0;
            setContentView(R.layout.gameover);
        }
        else if(pos_Mycar_y>=100&&pos_Mycar_y<=706&&pos_Mycar_x+120>=pos_Mycar_s&&pos_Mycar_x-120<=pos_Mycar_s){
            value = 0;
            setContentView(R.layout.gameover);
        }
        else value++;

        mText.setText("점수 : " + value);
        // 메세지를 처리하고 또다시 핸들러에 메세지 전달 (1000ms 지연)
        mHandler.sendEmptyMessageDelayed(0,1);



    }

};
 @Override
    public void onClick(View v) {
        int id = v.getId();
        switch (id) {
            case R.id.btn_L:
                ivImage.setX(1);
                if(pos_Mycar_x<80) {
                    pos_Mycar_x = pos_Mycar_x +0;
                }
                else{
                    pos_Mycar_x = pos_Mycar_x - 160;
                }
                ivImage.setX(pos_Mycar_x);
                break;
            case R.id.btn_R:
                ivImage.setX(1);
                if(pos_Mycar_x>295) {
                    pos_Mycar_x = pos_Mycar_x +0;
                }
                else{
                    pos_Mycar_x = pos_Mycar_x + 160;
                }

                ivImage.setX(pos_Mycar_x);
                break;
        }
    }
   // public  boolean checkHit


}여기로넘어가질않아요...
익명사용자 님이 2017년 12월 13일 답변
...