activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
android:id="@+id/et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="데이터 입력"
android:inputType="text" />
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="추가" />
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="삭제" />
</LinearLayout>
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:choiceMode="singleChoice">
</ListView>
</LinearLayout>
MainActivity.java
package com.example.listviewex03;
import java.util.ArrayList;
import android.app.Activity;
import android.inputmethodservice.InputMethodService.InputMethodImpl;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
public class MainActivity extends Activity {
ArrayList<String> list;
ArrayAdapter<String> adapter;
ListView lv;
InputMethodManager imm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list = new ArrayList<String>();
list.add("01");
list.add("02");
list.add("03");
list.add("04");
list.add("05");
list.add("06");
list.add("07");
list.add("08");
list.add("09");
list.add("10");
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_single_choice, list);
lv = (ListView) findViewById(R.id.lv);
imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
lv.setAdapter(adapter);
findViewById(R.id.btn1).setOnClickListener(clickListener);
findViewById(R.id.btn2).setOnClickListener(clickListener);
}
private Button.OnClickListener clickListener = new Button.OnClickListener() {
//private View.OnClickListener clickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
EditText et = (EditText)findViewById(R.id.et);
if(v.getId() == R.id.btn1) {
// 추가 버튼
if(et.getText().length() != 0){
list.add(et.getText().toString());
et.setText("");
// 갱신되었음을 어댑터에 통보한다.
adapter.notifyDataSetChanged();
imm.hideSoftInputFromWindow(et.getWindowToken(), 0);
}
} else if(v.getId() == R.id.btn2){
// 삭제 버튼
int pos = lv.getCheckedItemPosition();
if(pos != ListView.INVALID_POSITION){
list.remove(pos);
lv.clearChoices();
adapter.notifyDataSetChanged();
}
}
};
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
* Manifest.xml에
<activity android:windowSoftInputMode="stateHidden"> 을 추가하면
앱 실행시 키보드가 나오지 않는다.
'Android' 카테고리의 다른 글
항목 뷰 - 커스텀 뷰 (0) | 2013.04.01 |
---|---|
리스트뷰 - 항목 추가,삭제하기 (multiplechoice) (0) | 2013.04.01 |
리스트뷰 - choiceMode (0) | 2013.04.01 |
리스트뷰 - 어댑터뷰 (0) | 2013.03.29 |
메뉴 - context (0) | 2013.03.29 |