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

button intent 소스좀 봐주세요

0 추천
package com.example.post;

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 pump_sel extends Activity {

	

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

		Button btn_p1 = (Button) findViewById(R.id.btn1);
		Button btn_p2 = (Button) findViewById(R.id.btn2);
		Button btn_p3 = (Button) findViewById(R.id.btn3);
		Button btn_p4 = (Button) findViewById(R.id.btn4);
		
		
		
		btn_p1.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				Intent intent = new Intent(getApplication(), pump.class);
				intent.putExtra("code", 1);
				startActivity(intent);				
				
			}
		});
		
		btn_p2.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				Intent intent = new Intent(getApplication(), pump.class);
				intent.putExtra("code", 2);
				startActivity(intent);				
			}
		});
		
		btn_p3.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				Intent intent = new Intent(getApplication(), pump.class);
				intent.putExtra("code", 3);
				startActivity(intent);
				
			}
		});
		
		btn_p4.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				Intent intent = new Intent(getApplication(), pump.class);
				intent.putExtra("code", 4);
				startActivity(intent);
				
			}
		});
	}
	
	
	

}

button 4개로 같은 클래스에 값만 달리해서 intent 시키는 건데

왜인지 버튼 클릭하면 팅깁니다

 

 

로그켓은 이렇게 있습니다 

소스가 잘못된건가요??

익명사용자 님이 2015년 5월 29일 질문
2015년 5월 29일 수정

1개의 답변

0 추천
Pump.java 35라인에서 NullPointerException이 발생하고 있네요
빅클라인 (4,520 포인트) 님이 2015년 5월 29일 답변
아아 감사합니다 그럼 저값을 받아오는게
String code = intent.getExtras().getString("code");

이런식으로 받아오는거 아닌가요?
맞아요. 35번 라인이 intent.putExtra("code",1); 인가요?
putExtra("code", 1); 이런식으로 set을 해놓으시고;
getExtra는 왜 string으로 받으시나요;
int tmp = intent.getIntExtra("code", 0); 식으로 받으셔야지요
아저도 그부분 찾아서 int로 받았는데도 팅기네여 ㅠㅠ

Intent intent=this.getIntent();
int code = intent.getIntExtra("code", 0);

현재 받아오는 부분입니다
NullPointerException 이 발생한 이유를 찾아보세요.
String을 int로 받았다고 NullPointerException이 발생하진 않습니다.
35라인을 보여주세요
아 해결했습니다
public class pump extends Activity {
         
                  1

        public void UpdateText() {

            2
      }
}


처음에 1번에다가 선언을 해줬더니 팅겼는데
2번에다가 선언을 해주니 되네여

무슨차이죠??
...