-
Android 실습 (5)Android 2022. 7. 13. 17:49
<resources> <string name="app_name">Ex_0713</string> <string-array name="boardlist"> <item>1. 여러분 안녕하세요~</item> <item>2. 오늘도 즐거운 수업시간 입니다.</item> <item>3. 어제의 침팬지는 잊을수가 없네요..ㅎ</item> </string-array> </resources>
string.xml 에서 위와 같은 코드를 추가합니다.
package com.example.ex_0713; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; import java.util.ArrayList; public class MainActivity5 extends AppCompatActivity { ListView listView2; // 데이터셋이 될 수 있는 배열 생성하기 // String[] dataset = new String[20]; ArrayList<String> dataset = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main5); listView2 = findViewById(R.id.listview2); // 1 ~ 10 까지의 dataset 생성 for (int i = 1; i <= 15; i++){ // dataset[i-1] = String.valueOf(i); dataset.add(String.valueOf(i)); } // 어댑터 생성하기 // context : Activity 정보, // layout : 사용하고자 하는 layout 템플릿 // dataset : 실제로 띄워져야 하는 데이터 ArrayAdapter<String> adapter = new ArrayAdapter<>(getApplication(), android.R.layout.simple_list_item_1, dataset); // 보여질 수 있는 listview 영역에 해당 adapter 연결하기! listView2.setAdapter(adapter); // listview2에 있는 항목을 선택했을 경우 // 해당하는 값을 Toast메세지로 띄우기! listView2.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { // adapterView : 부모 AdapterView -> listView2 // view : 선택된 item의 view // i : 선택된 항목의 위치값 ★★★ // l : 선택된 항목의 id값 Toast.makeText(getApplication(),dataset.get(i).toString(), Toast.LENGTH_SHORT).show(); } }); } }
package com.example.ex_0713; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; import java.util.ArrayList; public class MainActivity6 extends AppCompatActivity { EditText txt_msg; Button btn_input; ListView listView3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main6); txt_msg = findViewById(R.id.txt_msg); btn_input = findViewById(R.id.btn_input); listView3 = findViewById(R.id.listview3); ArrayList<String> dataset = new ArrayList<>(); // 사용할 adapter 최초 선언! ArrayAdapter<String> adapter = new ArrayAdapter<>(getApplication(), android.R.layout.simple_list_item_1, dataset); // 버튼이 클릭되면 txt_msg 값을 listveiw3에 띄우기! btn_input.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String msg = txt_msg.getText().toString(); txt_msg.setText(""); // 데이터셋 추가하기! dataset.add(msg); listView3.setAdapter(adapter); // 데이터를 layout과 연결할 adapter 생성! } }); // 항목을 길게 클릭할 경우 해당 내용 삭제하는 이벤트 만들기! listView3.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) { dataset.remove(i); // 삭제 이후 최종적인 데이터를 가지고 adapter를 띄울 수 있도록 // 갱신작업 진행하기! adapter.notifyDataSetChanged(); return true; // false : 해당 과정이 끝나고 나서 데이터를 다른곳에서 사용하겠다 ! -> 선택 내용에 대한 유지가능! // true : 해당 과정이 끝나고 나서 데이터 유지 X } }); } }
문구를 입력하고 버튼을 클릭하면 입력한 내용이 올라가게 됩니다. 또한 특정 문구를 꾹 누르면 삭제가 됩니다.
'Android' 카테고리의 다른 글
Android 실습 (7) (0) 2022.07.14 Android 실습 (6) (0) 2022.07.14 Android 이론 (3) (0) 2022.07.13 Android 실습 (5) (0) 2022.07.13 Android 실습 (4) (1) 2022.07.12