Notice
Recent Posts
Recent Comments
Tags
- 바코드 스캔하기
- 파일업로드 체크
- ViewData
- Mac Oracle
- 강제이동
- SSD 복사
- 하드 마이그레이션
- javascript 바코드스캔
- 404에러페이지
- django 엑셀불러오기
- javascript 바코드 생성
- javascript 유효성체크
- asp.net dropdownlist
- 하드 윈도우 복사
- php 캐쉬제거
- XSS방어
- 타임피커
- jquery 바코드생성
- 맥 오라클설치
- jquery 바코드
- TempData
- ViewBag
- asp.net Select
- XSS PHP
- 파일업로드 유효성체크
- ASP.Net Core 404
- javascript redirection
- 말줄임표시
- asp.net core Select
- 바코드 생성하기
웹개발자의 기지개
동적으로 EditText 생성 및 생성된 EditText 리셋 시키기1 본문
사용자로부터 숫자로 EditText 갯수를 입력받아서 동적으로 EditText 를 이용하고 싶을때
한번 나름 고려해서 기본 예제를 작업해 보았다.
먼저 실행 이미지를 살펴 보장~~
[ activity_main.xml ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<?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">
<EditText
android:id="@+id/editText1"
android:inputType="number"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:hint="박스개수 숫자로 입력하세요" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="EditText박스 만들기" />
<Button android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="view모두삭제"/>
<LinearLayout
android:id="@+id/ll"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</LinearLayout>
</LinearLayout>
|
cs |
[ MainActivity.java ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
public class MainActivity extends AppCompatActivity {
EditText editText1;
LinearLayout ll;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ll = findViewById(R.id.ll);
editText1 = findViewById(R.id.editText1);
Button button1 = findViewById(R.id.button1);
Button button2 = findViewById(R.id.button2);
// 숫자 개수 만큼 editText 추가 생성
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int num = Integer.parseInt(editText1.getText().toString());
for (int i=0;i<num;i++) {
EditText et = new EditText(getApplicationContext());
LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
et.setLayoutParams(p);
et.setText("editText" + i + "번");
et.setId(num);
ll.addView(et);
}
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ll.removeAllViews();
}
});
}
}
|
cs |
위의 java 소스에서 관건은 for 안의 소스내용인데
EditText 를 java 소스상으로 하나씩 생성해서 Layout 파라미터도 만들고 해서, 소스속 아래부분의 Layout 에 붙이는 방식이다.
'안드로이드' 카테고리의 다른 글
Comments