• 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());
    }

  • 相关阅读:
    详解java定时任务
    Java之Exception
    Java设计模式
    Java中的static关键字解析
    浅析Java中的final关键字
    深入理解Java的接口和抽象类
    一个故事讲清楚NIO
    Java并发编程:线程池的使用
    Java垃圾回收机制
    ubuntu sublime text 2 破解版
  • 原文地址:https://www.cnblogs.com/yangzhenyu/p/2161581.html
Copyright © 2020-2023  润新知