안드로이드 스튜디오 Linear Layout과 For문 질문 (코드첨부)
조회수 597회
안드로이드를 이용한 커스텀 달력을 만들고있는데, 리니어 레이아웃을 배열을 사용해서 만들었습니다. 아래와 같은 화면까지 만들었는데 문제없이 Run Tasks 되는데 어플리케이션은 무엇이 충돌하는지 실행되지 않습니다 무엇이 문제인가요 ?
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
ScrollView scrollView;
LinearLayout total1,month1;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater mInflater = getMenuInflater();
mInflater.inflate(R.menu.menu1, menu);
return true;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout wk[] = new LinearLayout[54];
total1 = (LinearLayout) findViewById(R.id.total);
month1 = (LinearLayout) findViewById(R.id.month);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
params.weight = 1;
for (int i=0; i<54; i++){
wk[i] = new LinearLayout(this);
wk[i].setOrientation(LinearLayout.HORIZONTAL);
month1.addView(wk[i]);
}
total1.addView(month1);
final Button btn[] = new Button[368];
for (int i = 0; i < 368; i++) {
btn[i] = new Button(this);
btn[i].setWidth(20);
btn[i].setTextSize(11);
btn[i].setBackgroundColor(Color.WHITE);
btn[i].setId(i);
}
for(int i = 0 ; i < 7; i++) {
for (int j = 1; j < 54; j++) {
wk[j].addView(btn[i + ((j-1) * 7)],params);
}
}
for(int i=0; i<3; i++) {
btn[i].setText("" + (i + 29));
}
for(int i=3; i<34; i++){
btn[i].setText(""+(i-2));
}
for(int i=34; i<63; i++){
btn[i].setText(""+(i-33));
}
for(int i=63; i<94; i++){
btn[i].setText(""+(i-62));
}
for(int i=94; i<124; i++){
btn[i].setText(""+(i-93));
}
for(int i=124; i<155; i++){
btn[i].setText(""+(i-123));
}
}
============ JAVA 코드입니다. ============
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:context=".MainActivity"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:animateLayoutChanges="true"
android:background="#000"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:text="2020년 Scroll 달력"
android:textSize="20dp"
android:textColor="#FFF"/>
<Button
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="오늘"/>
<Button
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="보기 방식"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="#000"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="30dp"
android:textSize="20dp"
android:text="1월"
android:textColor="#fff">
</TextView>
</LinearLayout>
<!--요일-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="20dp"
android:gravity="top"
android:background="#eaeae9"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="일"
android:textSize="9sp"
android:textColor="#FF0000" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="월"
android:textColor="#000000"
android:textSize="9sp" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="화"
android:textColor="#000000"
android:textSize="9sp" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="수"
android:textColor="#000000"
android:textSize="9sp" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="목"
android:textColor="#000000"
android:textSize="9sp" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="금"
android:textColor="#000000"
android:textSize="9sp" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="토"
android:textSize="9sp"
android:textColor="#0067a3"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/total"
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/month"
android:orientation="horizontal">
</LinearLayout>
</LinearLayout>
</LinearLayout>
==================XML코드 입니다==============
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
댓글 입력