1부터 9까지가 다이얼버튼으로 있구요
2개가 맞을경우에 폭탄이 터지는 그런 게임입니다
어디가 잘못된지 모르겟어요..ㅠㅠ 부탁드립니다
onCreateOptionsMenu (Menu menu)
getMenuInflater() <<-- 이쪽에 에러나구요
ButtonClickEvent 쪽에
answer 변수쪽에서 에러나서 그뒤로 계속 에러에요 ㅠ ㅠ
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;
import java.util.Random;
public class MainActivity extends AppCompatActivity {
private int[] answer = new int[9];
private void makeAnswer (int[] ans) {
for (int i = 0; i < ans.length; i++) {
ans[i] = 1; // (초기화 코드) 배열에 있는 코드를 전부 1로 설정
}
int cnt = 0;
while (cnt < 2) { // 걸리는 갯수
int no = (int) (Math.random() * 9);
if (ans[no] == 2) {
continue;
} else {
ans[no] = 2;
cnt++;
}
}
}
private void init(){
View.OnClickListener event = new BtnClickEvent();
int[] allNum = {R.id.button1, R.id.button2, R.id.button3, R.id.button4,
R.id.button5, R.id.button6, R.id.button7, R.id.button8, R.id.button9}; // allNum 변수에 버튼을 넣음
for ( int i = 0; i < allNum.length; i++) {
Button btn = (Button)findViewById(allNum[i]); // 버튼의 인스턴스를 취득
btn.setText(String.valueOf(i + 1));
btn.setOnClickListener(event);
}
makeAnswer(answer);
LinearLayout lay = (LinearLayout)findViewById(R.id.resultLayout);
lay.removeAllViews();
ImageView img = (ImageView)findViewById(R.id.imgDynamite);
img.setImageResource(R.drawable.dynamite1);
nowState = 1;
tryNo = 1;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
private int nowState = 1;
private int tryNo = 1;
}
class BtnClickEvent implements View.OnClickListener{
@Override
public void onClick(View v) {
Button btn = (Button)v;
String no = btn.getText().toString();
if ( no.length() <=0 ) {
return;
}
int pushNo = Integer.parseInt(no);
if ( answer[pushNo -1] == 2){
ImageView img = (ImageView)findViewById(R.id.imgDynamite);
if ( nowState == 1 ) {
img.setImageResource(R.drawable.dynamite2);
}else if ( nowState == 2) {
img.setImageResource(R.drawable.dynamite3);
}
nowState++;
}
answer [pushNo -1] = 0;
btn.setText("");
tryNo++;
int cnt = 0;
for (int i = 0; i < answer.length; i++ ){
if ( answer[i] == 2) {
cnt++;
}
}
if ( tryNo + cnt == answer.length + 1){
finishExec(true);
}
}
private void finishExec(boolean mode) {
if (mode) {
Toast.makeText(MainActivity.this, "세이브", Toast.LENGTH_SHORT ).show();
finish();
} else {
Button butnRetry = new Button(this);
btnRetry.setText("재도전을 하시겠습니까?");
btnRetry.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
init();
}
});
LinearLayout lay = (LinearLayout)findViewById(R.id.resultLayout);
lay.addView(btnRetry);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}