1

クリックするだけで、あるアクティビティから別のアクティビティにデータを渡そうとしていListViewItemます。

しかし、行内のデータにアクセスできないため、次のアクティビティに渡すことができません。

私の現在のコードは次のとおりです。

final ListView businessListObj = (ListView) findViewById(R.id.bussinessListView);
ListAdapter adapter = new SimpleAdapter(HomeActivity.this, bussinessList,
                R.layout.business_list_item,
                new String[] { TAG_NAME, TAG_ADDRESS, TAG_ID }, new int[] {
                        R.id.name, R.id.address, R.id.businessId});
businessListObj.setAdapter(adapter);
businessListObj.setClickable(true);
businessListObj.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) 
{
     Intent detailsIntent = new Intent(HomeActivity.this, DetailActivity.class);
     startActivity(detailsIntent);
}
});

私が試してみました

Object o = businessListObj.getAdapter().getItem(position);

しかし、オブジェクトから名前、アドレス、ID を取得して次のアクティビティに渡すための構文がよくわかりません。

編集: XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
<TextView
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Medium Text"
        android:textAppearance="?android:attr/textAppearanceMedium" />

 <TextView
        android:id="@+id/address"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Medium Text"
        android:textAppearance="?android:attr/textAppearanceSmall" />
<TextView
       android:id="@+id/businessId"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Small Text"
       android:textAppearance="?android:attr/textAppearanceSmall" />

編集 2 : ビジネスリスト:

ArrayList<HashMap<String, String>> businessList = new ArrayList<HashMap<String, String>>();
4

2 に答える 2

0

以下を試してください。

あなたはこれを持っています

  ArrayList<HashMap<String, String>> businessList = new ArrayList<HashMap<String, String>>();

businessListのリストですHashMap<String,String>

onItemClick

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            HashMap<String,String> map =(HashMap<String, String>) arg0.getItemAtPosition(arg2);
            Intent detailsIntent = new Intent(HomeActivity.this, DetailActivity.class);              
            detailsIntent.putExtra("addresskey",map.get("TAG_ADDRESS").toString());
            detailsIntent.putExtra("namekey",map.get("TAG_NAME").toString());
            detailsIntent.putExtra("idkey",map.get("TAG_ID").toString()); 
            startActivity(detailsIntent);
            // check in logcat  
            Log.i("....................",map.get("TAG_ADDRESS").toString()); 
            Log.i("....................",map.get("TAG_NAME").toString());
            Log.i("....................",map.get("TAG_ID").toString());     
        }
    });
于 2013-11-07T18:24:27.013 に答える