2011-09-29 169 views
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會返回文本,但是我添加的項目沒有任何內容。提前致謝。

+0

如果覆蓋適配器類中的getView方法,則可以看到這些項目 – sunriser

回答

1

我使用的是書籍的數據綁定示例,您好,由Ed Burnette(偉大的書)的Android

我將項目佈局從RelativeLayout更改爲LinearLayout;但是,當我進行更改時,我沒有添加方向。

一旦我加入android:orientation =「vertical」一切正常。

我這一個人的兩個小時。