public class ListItem
{
public int sname;
public int s_img;
public String sid;
}
Class xyz extends ListActivity
{
.
.
.
protected void onListItemClick(ListView l, View v, int position, long id)
{
//super.onListItemClick(l, v, position, id);
Toast.makeText(ListPage.this,items.get(position).sid,Toast.LENGTH_SHORT).show();
Intent intent = new Intent(v.getContext(),DisplayScheme.class);
startActivityForResult(intent,0);
}
}
上記の xyz クラスから新しいアクティビティを開始したいと考えています。リストの項目の 1 つがクリックされると、Activity が開始されます。次のアクティビティでは、「ListItem」オブジェクトの詳細を表示したいと考えています。s_img と sname; CLICKED ListItem オブジェクトを次の DisplayScheme アクティビティに渡す方法はありますか? 次のアクティビティでは、前のアクティビティでどのアイテムがクリックされたかを調べる方法はありません。前もって感謝します。
…………編集…………
protected void onListItemClick(ListView l, View v, int position, long id)
{
//super.onListItemClick(l, v, position, id);
Toast.makeText(ListPage.this, items.get(position).sid, Toast.LENGTH_SHORT).show();
Intent intent = new Intent(v.getContext(),DisplayScheme.class);
intent.putExtra("positionIdentifier",v.getTag());
startActivityForResult(intent,0);
}
これは私の編集した onListItemClick です。現在、「intent.putextra」行で「Intent 型のメソッド putExtra(String, boolean) は引数 (String, Object) には適用できません」というエラーが表示されます。
...................さらに編集.. arrayadapter................
public class MyAdapter extends BaseAdapter
{
LayoutInflater inflater;
List<ListItem> items;
public MyAdapter(Activity context, List<ListItem> items)
{
super();
this.items = items;
this.inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount()
{
// TODO Auto-generated method stub
return items.size();
}
@Override
public Object getItem(int position)
{
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position)
{
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent)
{
ListItem item = items.get(position);
View vi=convertView;
if(convertView==null)
vi = inflater.inflate(R.layout.list_row, null);
ImageView imgv = (ImageView)vi.findViewById(R.id.s_name);
imgv.setImageResource(item.sname);
return vi;
}
}
これは私の MyAdapter クラスです。「setTag()」や dat などの変更を正確に行う必要があるのはどこですか?