728x90
반응형
1. 기본 예제
실행 화면
![]() |
![]() |
<xml 코드>
더보기
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
<java 코드>
package com.cookandroid.practice11_1;
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;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("리스트뷰 테스트");
final String[] mid = {"히어로즈", "24시", "로스트"};
ListView list = findViewById(R.id.listView1);
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
android.R.layout.simple_list_item_1, mid);
list.setAdapter(adapter);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(getApplicationContext(), mid[i], Toast.LENGTH_SHORT).show();
}
});
}
}
2. 동적 추가/삭제 예제
- 위와 차이? ArrayList<String> 변수이름 = new ArrayList<>(); 통해 이름 리스트 생성, 삭제 하게 함.
실행 화면
![]() |
<xml 코드>
더보기
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/etName"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<Button
android:text="ADD"
android:id="@+id/Add"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
<java 코드>
package com.cookandroid.practice11_1;
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 android.widget.Toast;
import java.lang.reflect.Array;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("리스트뷰 테스트");
final ArrayList<String> midList = new ArrayList<>();
ListView list = findViewById(R.id.listView1);
final ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
android.R.layout.simple_list_item_1, midList);
list.setAdapter(adapter);
final EditText etName = findViewById(R.id.etName);
Button btnAdd = findViewById(R.id.Add);
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
midList.add(etName.getText().toString());
//데이터 변경 사실을 알려 변경 내용 표시되게 함.
adapter.notifyDataSetChanged();
}
});
list.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
midList.remove(i);
adapter.notifyDataSetChanged();
return false;
}
});
}
}
'모바일 > android' 카테고리의 다른 글
AVD 애뮬레이터 오류 해결(No emulators found as an output of emulator -list-avds) (0) | 2023.06.21 |
---|---|
[안드로이드프로그래밍6판] 명시적 인텐트, 양방향 액티비티 (0) | 2021.12.15 |
[안드로이드프로그래밍6판] 명시적 인텐트 개념과 예제 (0) | 2021.12.15 |
[안드로이드프로그래밍6판] 그림판 응용 (0) | 2021.12.15 |
[안드로이드프로그래밍6판] 직접 풀어보기 9-1, 9-2, 실습 9-1 (0) | 2021.12.15 |