앱을 개발 중입니다. 제목으로 listview의 항목을 문자열 배열로, 문자열 배열을 listview로, 목록보기를 문자열 배열로 바꾸는 방법에 대해 설명합니다.Listview 항목을 문자열 배열에 넣는 방법은 무엇입니까?
저는 이것을 찾고 있었지만 문자열 배열 항목을 listview에 넣는 것으로 나타났습니다.
미리 감사드립니다.
이 스레드를 명확히하기 위해 listview 항목을 String 배열에 저장하는 방법이 문제입니다.
감사합니다. : 옆에있는 목록보기
public class DailyPlan extends Activity implements OnItemClickListener {
final ArrayList<DailyManager> savedItems = new ArrayList<DailyManager>();
ListView checkList;
Boolean nextItem = false;
TempManager tm;
DatabaseTemp dbTemp;
Intent i;
int taskId = -1;
String taskName = " ", taskDate = null;
DatabaseDailyPlan db;
DailyManager dm;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.saved_dailyplan);
checkList = (ListView) findViewById(R.id.lvCheckList);
// checkList.setOnItemClickListener(this);
try {
i = getIntent();
taskId = i.getExtras().getInt("task_id");
taskName = i.getExtras().getString("task_name");
Toast.makeText(getApplicationContext(), "From new id is" + taskId,
5000).show();
} catch (Exception e) {
}
Button addList = (Button) findViewById(R.id.bAddList);
addList.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// openDialog("", false, -1);
}
});
if (nextItem) {
// openDialog("", false, -1);
}
}
public void refresh() {
DailyPlan.this.onResume();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
savedItems.clear();
dbTemp = new DatabaseTemp(getApplicationContext());
dbTemp.getWritableDatabase();
db = new DatabaseDailyPlan(getApplicationContext());
db.getWritableDatabase();
if (taskId != -1) { ///For Load
ArrayList<DailyManager> savedList = db.getList(taskId);
for (int i = 0; i < savedList.size(); i++) {
String savedListItems = savedList.get(i).getDaily_list();
String savedListTitle = savedList.get(i).getDaily_name();
String savedListDate = savedList.get(i).getDaily_date();
int savedListId = savedList.get(i).getDaily_id();
DailyManager dm = new DailyManager();
dm.setDaily_list(savedListItems);
dm.setDaily_name(savedListTitle);
dm.setDaily_date(savedListDate);
dm.setDaily_id(savedListId);
savedItems.add(dm);
}
} else { ///For New
}
checkList.setAdapter(new ListAdapter(this));
}
public class ListAdapter extends BaseAdapter {
LayoutInflater inflater;
ViewHolder viewHolder;
public ListAdapter(Context c) {
// TODO Auto-generated constructor stub
inflater = LayoutInflater.from(c);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return savedItems.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
if (convertView == null) {
convertView = inflater.inflate(R.layout.row_checklist_item,
null);
viewHolder = new ViewHolder();
viewHolder.checkListItem = (TextView) convertView
.findViewById(R.id.tvCheckListItem);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.checkListItem.setText(savedItems.get(position)
.getDaily_list() + position);
final int temp = position;
return convertView;
}
}
private class ViewHolder {
TextView checkListItem;
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int item, long arg3) {
// TODO Auto-generated method stub
// openDialog(savedItems.get(item).getDaily_name(), true,
// savedItems.get(item).getDaily_id());
}
}
다음과 같이 배열의 모든 값을 할당하는 for 루프를 만들 필요가 왜 문자열 배열에서 목록보기의 항목을 넣어해야합니까 그리고 어떻게 listview를 채우는가? – Raghunandan
ListAdapter – ralphgabb
코드를 사용하여 listview를 채우고 왜 문자열 배열이 필요한가요? – Raghunandan