對於android應用程序,我需要創建一個列表,以便我可以在同一個「項目」中輸入不同的東西。例如,列表中的每個對象都需要不同的信息(每個信息都有一個單獨的行)。具體來說,我的應用程序會爲每個列表項目需要以下內容:疼痛位置,治療,疼痛類型以及每個實例的其他類別。爲每個項目列出多個TextView
這是我迄今雲集,但只顯示每個項目一個TextView的名單上:
PACKAGE, Imports, etc.
public class PainLoggerActivity extends Activity implements OnClickListener,
OnKeyListener {
/** Called when the activity is first created. */
EditText txtItem;
Button btnAdd;
ListView listItems;
ArrayList <String> painItems;
ArrayAdapter<String> aa;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txtItem = (EditText)findViewById(R.id.txtItem);
btnAdd = (Button)findViewById(R.id.btnAdd);
listItems = (ListView)findViewById(R.id.listItems);
btnAdd.setOnClickListener(this);
txtItem.setOnKeyListener(this);
painItems = new ArrayList<String>();
aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
painItems);
listItems.setAdapter(aa);
}
private void addItem(String item){
if(item.length() > 0){
this.painItems.add(item);
this.aa.notifyDataSetChanged();
this.txtItem.setText("");
}
}
@Override
public void onClick(View v) {
if(v == this.btnAdd)
this.addItem(this.txtItem.getText().toString());
}
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if(event.getAction() == KeyEvent.ACTION_DOWN && keyCode ==
KeyEvent.KEYCODE_DPAD_CENTER){
this.addItem(this.txtItem.getText().toString());
}
return false;
}
}
* 一些示例代碼,將不勝感激,所以我有一個想法如何實施建議 - 毫無疑問,我仍然是一個初學者*
+1學習創建自己的列表項不是非常困難,並會給你無限的靈活性,讓你真正給你的應用程序一個定製的感覺。 –
我試過這個,但它似乎沒有工作。我將不勝感激,如果你能在正確的方向教程點我是不是真的幫助了.... '筆記=新SimpleAdapter( \t \t \t \t此, \t \t \t \t painItems, \t \t \t \t R.layout.main, \t \t \t \t新的String [] { 「第1行」, 「第2行」}, \t \t \t \t新INT [] {R.id.txtItem, R.id.editText1}); setListAdapter(notes);' – Kgrover
@Glendon,你可以給我一個簡單的概述/示例如何創建一個簡單的適配器並使用它? 此外,上面的代碼使用editText1作爲另一個textField,並且我已將列表(painItems)更改爲如下所示: 'ArrayList> painItems = new ArrayList > ();' –
Kgrover