Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- #if
- heroku
- Action
- jinja2
- 사이트 도메인
- #ifdef
- MySQL 세팅
- DB 데이터
- 실시간 시계
- 환경변수 설정
- #else
- PyQt5
- bootstrap4 패키지
- DB 데이터 저장
- OpenCV + Flask
- 명령어
- OpenCV
- 튜토리얼
- 콘솔 가상환경 # 콘솔 #가상환경
- bootstrap
- #undef
- javascript
- 성능지표
- Django
- flask
- VS Code
- #endif
- href
- openweathermap
- #ifndef
Archives
- Today
- Total
PROGRAMMING
ListView 본문
package com.example.a201104_1;
import androidx.appcompat.app.AppCompatActivity;
import android.app.ListActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.CheckedTextView;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity { // extends ListActivity {
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView) findViewById(R.id.listView);
// add 메서드를 사용한 listView 생성
/*ArrayList<String> data = new ArrayList<>();
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, data);
listView.setAdapter(adapter);
data.add("사과");
data.add("딸기");
data.add("바나나");
data.add("포도");
data.add("멜론");
data.add("키위");
data.add("오렌지");
adapter.notifyDataSetChanged();*/
// add 메서드와 루프를 사용한 listView 생성
/*String[] fruits = {"사과", "딸기", "바나나", "포도", "멜론", "키위", "오렌지"};
ArrayList<String> data2 = new ArrayList<>();
for (int i = 0; i != fruits.length; i++)
data2.add(fruits[i]);
ArrayAdapter<String> adapter2 = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, data2);
listView.setAdapter(adapter2);
adapter2.notifyDataSetChanged();*/
// String 형태의 배열을 바로 받아서 listView 생성
/*String[] fruits2 = {"사과", "딸기", "바나나", "포도", "멜론", "키위", "오렌지"};
ArrayAdapter<String> adapter3 = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, fruits2);
listView.setAdapter(adapter3);*/
// ListActivity를 extends
/*String[] fruits3 = {"사과", "딸기", "바나나", "포도", "멜론", "키위", "오렌지"};
ArrayAdapter<String> adapter4 = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, fruits3);
setListAdapter(adapter4);*/
// simple_list_item_checked 사용
String[] fruits4 = {"사과", "딸기", "바나나", "포도", "멜론", "키위", "오렌지"};
// simple_list_item_1, 2, checked, single_choice, multiple_choice
ArrayAdapter<String> adapter5 = new ArrayAdapter<>(this, android.R.layout.simple_list_item_multiple_choice, fruits4);
// simple_list_item_check, single_choice 의 경우 선택을 하나로 제한하기 위해서 모드 설정
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
listView.setAdapter(adapter5);
// AdapterView 에서 이벤트를 받아들임 !!
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
// Logcat (terminal) 띄울 class(or activity) 설정
private static final String TAG = "MainActivity";
// custom for loop
/*int[] items = new int[fruits4.length];
for (int i = 0; i != fruits4.length; i++)
items[i] = 0;*/
// teacher ver.2
String str_t = "";
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
CheckedTextView v = (CheckedTextView) view;
boolean currentCheck = v.isChecked();
// teacher ver.2
if (currentCheck == true) {
str_t += (fruits4[position]+" ");
} else {
str_t = str_t.replace(String.format("%s ", fruits4[position]), "");
}
Toast.makeText(getApplicationContext(), str_t + "선택" , Toast.LENGTH_SHORT).show();
// 프로그램 아래 Logcat (terminal) 에 내용 띄우는 문장
Log.d(TAG, str_t);
// teacher
/*CheckedTextView v = (CheckedTextView) view;
boolean currentCheck = v.isChecked();
String str = String.format("%s", currentCheck);
Toast.makeText(getApplicationContext(), str, Toast.LENGTH_SHORT).show();*/
// custom
/*if (items[position] == 0) {
Toast.makeText(getApplicationContext(), item + "선택", Toast.LENGTH_SHORT).show();
items[position]++;
}
else if (items[position] == 1)
{
Toast.makeText(getApplicationContext(), item + "해제", Toast.LENGTH_SHORT).show();
items[position] = 0;
}*/
}
});
}
}
<?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:id="@+id/listViewLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
'Android' 카테고리의 다른 글
CustomListView (0) | 2020.11.04 |
---|---|
ListViewEdit (0) | 2020.11.04 |
버튼-백그라운드컬러 (0) | 2020.11.03 |
어플 접속화면(feat. 이상형월드컵) (0) | 2020.10.30 |
이상형월드컵(ver. teacher) (0) | 2020.10.30 |
Comments