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

안드로이드 버튼 이벤트 오류 무엇이 문제일까요?

0 추천
스피너로 항목 선택 후 버튼을 클릭하면 스피너로 선택한 항목만큼 (예: 5) 배열을 생성해서 난수를 넣고 텍스트뷰에 띄우는 프로그램을 만들고자 합니다. 오류 뜨는 건 없는데 실행 시 버튼을 클릭하면 프로그램이 종료됩니다. 어느 부분이 문제인 걸까요? 전체 코드는 다음과 같습니다.

 

package ac.kr.kgu.esproject;

 

import android.app.Activity;

import android.os.Bundle;

import android.provider.Settings.System;

import android.view.View;

import android.widget.AdapterView;

import android.widget.ArrayAdapter;

import android.widget.Spinner;

import android.widget.Button;

import android.widget.TextView;

import android.widget.Toast;

 

import java.util.ArrayList;

 

public class ArrayAdderActivity extends Activity {

static int numnum;

     

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

 

        final Spinner s = (Spinner) findViewById(R.id.spinner);

        final Button button1 = (Button) findViewById(R.id.button1);

        final TextView text1 = (TextView) findViewById(R.id.textv);

       

        ArrayAdapter adapter = ArrayAdapter.createFromResource(

                this, R.array.planets, android.R.layout.simple_spinner_item);

        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        s.setAdapter(adapter);

        

        s.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

        String num=s.getSelectedItem().toString();

        numnum = Integer.parseInt(num);

            }

 

            public void onNothingSelected(AdapterView<?> parent) {

            }

});

        

        button1.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {

        int array1[] = null;

        String string1[];

        for (int i = 0; i<numnum; i++){

        array1[i]=((int)(Math.random()));

        text1.setText("배열 요소 #"+(i+1)+": "+array1[i]+"/n");

         

        }

         

        }

        });

 

    }

}
익명사용자 님이 2019년 11월 19일 질문

1개의 답변

0 추천

   int array1[] = null;

        String string1[]; 에서 선언만하고 메모리 할당을 안 하셨네요.

int array1[]  = new int[numnum];

String string1[]  = new String[numnum]; 같이 할당하고 사용하세요

 

 

익명사용자 님이 2019년 11월 21일 답변
...