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

버튼을 배열로 만드려는데 오류가 뜨네요...

0 추천
package com.example.selectnumber;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;

 public class MainActivity extends Activity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   createCalender();
  }

  public void createCalender() {
   RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams
     ( RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT );
   LinearLayout layoutVertical = (LinearLayout) findViewById(R.id.liVLayout);
   LinearLayout rowLayout=null;

   Button[][] buttons = new Button[5][5];
   int count=30; for (int i = 0; i<5; i++) {
    if(count%5==1) {
     rowLayout = new LinearLayout(this);
     layoutVertical.addView(rowLayout,p);
     count=count-5;
    }
    for(int j=0;j<5;j++) {
     buttons[i][j]=new Button(this);
     buttons[i][j].setBackgroundResource(R.drawable.ic_launcher);
     rowLayout.addView(buttons[i][j], p);
    }
   }
  }
 }

 버튼하나를 xml 파일에서 만들어서 그 버튼을 25개를 만드려고 for문으로 5x5로 하려고 하는데요

로그캣에서

08-07 05:39:18.135: E/AndroidRuntime(839): FATAL EXCEPTION: main
08-07 05:39:18.135: E/AndroidRuntime(839): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.selectnumber/com.example.selectnumber.MainActivity}: java.lang.ClassCastException: android.widget.Button cannot be cast to android.widget.LinearLayout
08-07 05:39:18.135: E/AndroidRuntime(839):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
08-07 05:39:18.135: E/AndroidRuntime(839):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
08-07 05:39:18.135: E/AndroidRuntime(839):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
08-07 05:39:18.135: E/AndroidRuntime(839):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
08-07 05:39:18.135: E/AndroidRuntime(839):  at android.os.Handler.dispatchMessage(Handler.java:99)
08-07 05:39:18.135: E/AndroidRuntime(839):  at android.os.Looper.loop(Looper.java:137)
08-07 05:39:18.135: E/AndroidRuntime(839):  at android.app.ActivityThread.main(ActivityThread.java:5041)
08-07 05:39:18.135: E/AndroidRuntime(839):  at java.lang.reflect.Method.invokeNative(Native Method)
08-07 05:39:18.135: E/AndroidRuntime(839):  at java.lang.reflect.Method.invoke(Method.java:511)
08-07 05:39:18.135: E/AndroidRuntime(839):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
08-07 05:39:18.135: E/AndroidRuntime(839):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
08-07 05:39:18.135: E/AndroidRuntime(839):  at dalvik.system.NativeStart.main(Native Method)
08-07 05:39:18.135: E/AndroidRuntime(839): Caused by: java.lang.ClassCastException: android.widget.Button cannot be cast to android.widget.LinearLayout
08-07 05:39:18.135: E/AndroidRuntime(839):  at com.example.selectnumber.MainActivity.createCalender(MainActivity.java:20)
08-07 05:39:18.135: E/AndroidRuntime(839):  at com.example.selectnumber.MainActivity.onCreate(MainActivity.java:14)
08-07 05:39:18.135: E/AndroidRuntime(839):  at android.app.Activity.performCreate(Activity.java:5104)
08-07 05:39:18.135: E/AndroidRuntime(839):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
08-07 05:39:18.135: E/AndroidRuntime(839):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)

이러면서 멈춰버리네요..

개발자님들 도와주세요.
중소니 (110 포인트) 님이 2013년 8월 7일 질문

1개의 답변

0 추천

cast 에러가 나는데요

LinearLayout layoutVertical = (LinearLayout) findViewById(R.id.liVLayout);

liVLayout 이 레이아웃이 맞는지 확인해보세요.

 

 

20라인에서 에러가 나는데 본문에 라인이 없지만 대충 그정도 라인이 맞는거같습니다.

08-07 05:39:18.135: E/AndroidRuntime(839):  at com.example.selectnumber.MainActivity.createCalender(MainActivity.java:20)

 

 

아픔제로 (3,460 포인트) 님이 2013년 8월 7일 답변
저거는 다시바꿧는데요 그래도 시뮬로 구동시키면 되다가 멈춰버리고 나가지네요......
...