0
다음 코드를 실행하면 임의의 문자열 (예 : [email protected]
)이 나옵니다. 추가 된 체크 박스를 클릭 할 수 없습니다.안드로이드의 목록보기에 체크 박스 추가하기
이 내 자바 코드 :
public class Rough1Activity extends ListActivity {
private ArrayList<String> listItems = new ArrayList<String>();
private ArrayAdapter<String> adapter;
private EditText taskNameEditText;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
// I like this layout, but it's your choice
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_checked, listItems);
//adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, listItems);
setListAdapter(adapter);
// I guessed that you want a multiple choice list from your first layout choice. This is optional, you can remove it.
ListView listView = getListView();
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
// Here you only need to initialize taskNameEditText once
taskNameEditText = (EditText) findViewById(R.id.TaskName);
}
public void addItems(View v) {
// Add the current string in the EditText to the ListView
adapter.add(taskNameEditText.getText().toString());
}
}
당신에게 : 당신은 정수 또는 문자열의 배열을 추가로 체크 박스를 표시하려고
package com.srk.android.rough1;
import java.util.ArrayList;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.EditText;
import android.app.ListActivity;
public class Rough1Activity extends ListActivity {
ArrayList<CheckBox> listItems=new ArrayList<CheckBox>();
ArrayAdapter<CheckBox> adapter;
private EditText taskNameEditText;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
adapter=new ArrayAdapter<CheckBox>(this, android.R.layout.simple_list_item_multiple_choice, listItems);
setListAdapter(adapter);
}
public void addItems(View v) {
taskNameEditText=(EditText)findViewById(R.id.TaskName);
String taskName=taskNameEditText.getText().toString();
CheckBox cb=new CheckBox(this);
cb.setText(taskName);
listItems.add(cb);
adapter.notifyDataSetChanged();
}
}