繁体   English   中英

Android:如何从其他活动中更改项目列表中的可绘制对象

[英]Android: How to change a drawable in a item list from other Activity

我从Android开始,我可以创建一个ListView ,它可以完美运行。 此列表包含代表任务状态(活动或非活动)的图像,当单击列表项时,将打开一个新活动,您可以在其中修改任务,更改其数据或状态。 我想确保,当用户返回到任务列表时,正在工作的任务的项目将被更新(更改代表其状态的图像)。

如何在适用于所选任务的活动中做到这一点?

这是我的代码,为ListView选定iten打开新活动:

listTareas.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        String tarea_id = ((TextView) view.findViewById(R.id.tarea_id)).getText().toString();

        // Starting new intent
        Intent in = new Intent(getApplicationContext(), SingleItemActivity.class);
        in.putExtra(TAG_TAREA_ID, tarea_id);
        startActivity(in);
    }
});

我可以发送要更改的drawable的ID,但是如何在SingleItemActivity上处理它呢? 那可能吗?

感谢大伙们。

问候。 -

您不能更改与ID相关联的可绘制对象。

您应该调用startActivityForResult而不是startActivity ,然后从SingleItemActivity返回时,将调用onActivityResult方法。 使用它来更新您的ListView填充的数据集。

更新数据后,应在ListView的适配器上调用notifyDataSetChanged()

我认为您应该使用startActivityForResult()而不是startActivity(),并且您需要重写方法

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
        super.onActivityResult(requestCode, resultCode, intent);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM