Divide and Conquer
동적 버튼 추가할 때 위치 설정 안 됨 본문
728x90
<?xml version="1.0" encoding="utf-8"?> <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="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <LinearLayout android:layout_weight="2" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="0dp"> <LinearLayout android:layout_weight="1" android:id="@+id/mor" android:layout_width="0dp" android:layout_height="match_parent" android:orientation="vertical"> </LinearLayout> <LinearLayout android:layout_weight="1" android:id="@+id/aft" android:layout_width="0dp" android:layout_height="match_parent" android:orientation="vertical"> </LinearLayout> <LinearLayout android:layout_weight="1" android:id="@+id/din" android:layout_width="0dp" android:layout_height="match_parent" android:orientation="vertical"> </LinearLayout> </LinearLayout> <LinearLayout android:layout_weight="1" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <RadioButton android:id="@+id/rdo1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="아침"/> <RadioButton android:id="@+id/rdo2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="점심"/> <RadioButton android:id="@+id/rdo3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="저녁"/> </LinearLayout> <EditText android:id="@+id/edtSubmit" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="여기에 입력하세요"/> <Button android:id="@+id/btnSubmit" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="추가"/> </LinearLayout> </LinearLayout>
package com.example.li; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { RadioGroup rGroup; RadioButton rdo1, rdo2, rdo3; EditText edtSubmit; Button btnSubmit; String str; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); rdo1 = (RadioButton) findViewById(R.id.rdo1); rdo2 = (RadioButton) findViewById(R.id.rdo2); rdo3 = (RadioButton) findViewById(R.id.rdo3); edtSubmit = (EditText) findViewById(R.id.edtSubmit); btnSubmit = (Button) findViewById(R.id.btnSubmit); final LinearLayout lm = (LinearLayout)findViewById(R.id.mor); // linearLayout params 정의 LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); btnSubmit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { str = edtSubmit.getText().toString(); if (rGroup.getId() == R.id.mor) { // LinearLayout 생성 LinearLayout mor = new LinearLayout(MainActivity.this); mor.setOrientation(LinearLayout.VERTICAL); // 버튼 생성 final Button btn = new Button(MainActivity.this); // setId 버튼에 대한 키값 btn.setId(str.charAt(str.length())); btn.setText(str); btn.setLayoutParams(params); //버튼 add mor.addView(btn); //LinearLayout 정의된거 add lm.addView(mor); } else { Toast.makeText(MainActivity.this, "코드를 안 짰어", Toast.LENGTH_SHORT ).show(); } } }); } }
context가 MainActivity.this 아닌가ㅋㅋ... 아 빡쳐 Layout이라 동적 추가가 안 되는 건가... 그런 듯 싶은데
이유!!! LinearLayout을 동적으로 추가할 수 없다......
반응형
'성장캐 > 안드로이드 스튜디오' 카테고리의 다른 글
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/impl/cookie/DateUtils; (0) | 2021.07.13 |
---|---|
안드로이드 공부 (0) | 2021.06.18 |
[키워드] 안드로이드 스튜디오 게시판 (0) | 2021.06.14 |
Edittext null값 메시지 출력 (0) | 2021.06.09 |
No matching client found for package name (0) | 2021.06.04 |
Comments