3
我一直在嘗試很長一段時間,我認爲我有代碼,但有些錯誤,因爲該項目沒有被添加到列表視圖。跟隨我的代碼:安卓:項目文本不顯示在列表視圖
public class EditDoctors extends Activity implements OnClickListener {
SimpleAdapter adapter;
List<HashMap<String, String>> painItems = new ArrayList<HashMap<String, String>>();
ListView editDoc;
int[] to;
String[] from;
EditText addDoc, docPos;
String row1, row2;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.editdoc);
addDoc = (EditText) findViewById(R.id.newDoc);
docPos = (EditText)findViewById(R.id.docPos);
editDoc = (ListView) findViewById(R.id.editDoc);
TextView textview = new TextView(this);
textview.setText("This is the Songs tab");
Button adddocs = (Button)findViewById(R.id.addbutton);
adddocs.setOnClickListener(this);
from = new String[] { "row_1", "row_2" };
to = new int[] { R.id.row1, R.id.row2 };
adapter = new Adapter(this, painItems, R.layout.mylistlayout,from, to);
editDoc.setAdapter(adapter);
}
public class Adapter extends SimpleAdapter {
HashMap<String, String> map = new HashMap<String, String>();
View row;
public Adapter(Context context,
List<? extends Map<String, String>> data, int resource,
String[] from, int[] to) {
super(context, data, resource, from, to);
}
}
private void addItem() {
HashMap<String, String> map = new HashMap<String, String>();
map.put("row_1", row1);
map.put("row_2", row2);
painItems.add(map);
adapter.notifyDataSetChanged();
}
@Override
public void onClick(View arg0) {
row1 = addDoc.getText().toString();
Toast.makeText(this, row1, Toast.LENGTH_SHORT).show();
row2 = docPos.getText().toString();
adapter.notifyDataSetChanged();
addItem();
}
}
這應該創建一個2成蔭的listItem,但它並沒有,該行是空(無文本)。在OnClickMethod中看到的Toast會返回文本,但是我添加的項目沒有任何內容。提前致謝。
如果覆蓋適配器類中的getView方法,則可以看到這些項目 – sunriser