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.sql.Array;
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 값을 listview3에 띄우기
btn_input.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String msg = txt_msg.getText().toString();
// 데이터셋 추가하기
dataset.add(msg);
listview3.setAdapter(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
}
});
}
}
'안드로이드' 카테고리의 다른 글
Volley (0) | 2022.07.15 |
---|---|
Adapter View (0) | 2022.07.14 |
Adapter View (0) | 2022.07.13 |
PlainText 내용 TextView에 띄우기 & enter 사용시 이벤트 작동 (0) | 2022.07.13 |
텍스트 입력시 화면전환2 (양방향) (0) | 2022.07.13 |