Android中,利用Intent传递对象值

在很多情况下,调用startActivity(Intent) 方法,跳转到另外一个Activity或其他component,需要传递一个对象给它。

可以让这个要传递的对象所属类实现Serializable或者Parcelable接口。然后利用onCreate函数中的Bundle参数作为载体,传递这个对象。在新的组件中再获得即可。

 

例如:

 

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    listView = (ListView) findViewById(R.id.listView);
    adapter = new ListViewAdapter(this);
    listView.setAdapter(adapter);
    adapter.refresh();
    listView.setOnItemClickListener(new OnItemClickListener()
    {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long i)
        {
            Item item = (Item) adapter.getItem(position);
            Intent intent = new Intent(ListViewDemo01Activity.this,DetailActivity.class);
            Bundle bundle = new Bundle();
            bundle.putSerializable("item", item);
            intent.putExtras(bundle);
            startActivity(intent);
            Log.v("tag","===============selected ");
        }
    });

}

 

 

在接收对象的地方:

 

protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.detail);
    Item item = (Item) getIntent().getSerializableExtra("item");
    findViewById(R.id.imageView).setBackgroundResource(item.getImage());
    TextView title = (TextView) findViewById(R.id.title);
    TextView contentTextView = (TextView) findViewById(R.id.content);
    title.setText(item.getTitle());
    contentTextView.setText(item.getContent());
}

转载于:https://www.cnblogs.com/yangzhenyu/archive/2011/09/01/2161581.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值