0

この単純なコードを使用して、2 つのテキスト ビューを含むカスタム行を作成しています。行は明らかに移入されていますが (ハッシュマップが 2 つの文字列値を保持していることをトーストが示しているため)、リスト内の行は空白に見えます。変ですね。その理由は何ですか?

public class TwoHeaded extends ListActivity {

ArrayList<Map<String, String>> doubleDamage = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    doubleDamage = buildData();
    String[] from = {"platform","os"};
    int[] to = {R.id.tvTwoPlatform, R.id.tvTwoOs};
    SimpleAdapter adapter = new SimpleAdapter(this, doubleDamage,
            android.R.layout.simple_list_item_2, from, to);
    setListAdapter(adapter);
}

private ArrayList<Map<String, String>> buildData(){
    ArrayList<Map<String, String>> list = new ArrayList<Map<String, String>>();
    list.add(putData("Android", "Jelly Bean"));
    list.add(putData("Microsoft", "Windows"));
    list.add(putData("Apple","Macintosh"));
    return list;
}

private HashMap<String, String> putData(String platform, String os){
    HashMap<String, String> item = new HashMap<String, String>();
    item.put(platform, os);
    return item;
}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    Toast.makeText(this, doubleDamage.get(position).toString(), Toast.LENGTH_SHORT).show();
}
}

2 つのテキスト ビューを含むレイアウト ファイルを次に示します。

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/tvTwoPlatform"
android:layout_alignParentTop="true"
android:layout_marginLeft="25dp" >

<TextView
    android:id="@+id/tvTwoPlatform"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="?android:attr/listPreferredItemPaddingLeft"
    android:layout_marginTop="8dip"
    android:text="text For Platform "
    android:textAppearance="?android:attr/textAppearanceListItem" />

<TextView
    android:id="@+id/tvTwoOs"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@android:id/text1"
    android:layout_below="@android:id/text1"
    android:text="text For Os"
    android:textAppearance="?android:attr/textAppearanceSmall" />
</LinearLayout>
4

1 に答える 1