import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MemoryGame extends Activity implements View.OnClickListener {
private Button btns[] = new Button[12];
private TextView MM_num = null;
private int B_num[] = new int[12]; // 버튼 12개 배열
private int M_num[] = new int[3]; // 텍스트뷰에 띄울 숫자 배열
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_memorygame);
SetBinddingButtons();
TextView MM_num = (TextView) findViewById(R.id.num);
MM_num.settext(" 여기는 잘됩니다");
MM_num.setTextSize(60);
private void SetBinddingButtons()
{
for(int i = 0; i < 12; i++)
{
btns[i] = (Button)findViewById(R.id.btn1 + i);
btns[i].setVisibility(View.INVISIBLE);
btns[i].setOnClickListener(this);
btns[i].setTextSize(40);
}
}
public void InitValu()
{
MM_num.setText("ㅜㅜ");
MM_num.setText(""+1);
}
public void initNumberArr(int s)
{
int random, ran;
int cnt = 0;
if( s == 1)
{
while (M_num[0] == M_num[1] || M_num[0] == M_num[2] || M_num[1] == M_num[2])
{
for (int i = 0; i < 3; i++) {
random = (int) (Math.random() * 99);
M_num[i] = random ;
}
MM_num.setText("ㅜㅜ");
MM_num.setText(""+1);
MM_num.setText(" " + N_num[0] + " " + N_num[1] + " " + N_num[2]);
}
}
}
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
public void onClick(View v)
{
if(v == B_start) // 시작버튼 클릭
{
B_start.setVisibility(View.INVISIBLE);
if(!B_bStart)
{
InitValu();
// M_sw.stop();
// M_sw.reset();
}
B_bStart = !B_bStart;
if(B_bStart)
{
initNumberArr(1); // 기억할 숫자 생성 M_num[]
MM_num.setText("ㅜㅜ");
MM_num.setText(""+1);
MM_num.setText(" " + N_num[0] + " " + N_num[1] + " " + N_num[2]);
initNumberArr(2); // 버튼에 들어갈 숫자 생성
for(int i=0; i<12; i++)
{
btns[i].setVisibility(View.VISIBLE);
btns[i].setText("" + B_num[i]);
}
}
}
파란색부분에다가 쓰면 잘됩니다
빨간색부분이 문제입니다.
텍스트뷰가 왜 안되는걸까요?...
버튼으로 만들어서하면 잘됩니다 ㅜㅜ
------------------------------------------------------------
10-01 08:05:03.652 17057-17057/dp.dpgame E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: dp.dpgame, PID: 17057
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
at dp.dpgame.MemoryGame.onClick(MemoryGame.java:210)
at android.view.View.performClick(View.java:5242)
at android.widget.TextView.performClick(TextView.java:10530)
at android.view.View$PerformClick.run(View.java:21185)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6872)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
로그캣에 파란색부분이 제가 텍스트뷰에 숫자 띄우려는 줄입니다
MM_num = MM_num.setText(" " + N_num[0] + " " + N_num[1] + " " + N_num[2]);
이거요 이거!! ㅠㅠ
로그캣을 봐도 뭔소린지 모르겠네요
도움 좀 부탁드립니다....