roadcow 2014-08-21 03:30 采纳率: 0%
浏览 752

android入门问题,求会的不吝赐教

问个安卓上的问题,intent.setclass(Activity1.this,Activity.class),在启动到另一个类时,为什么不是Activity1.class,而要用Activity1.this??

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-02 12:14
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    你好!这个问题是因为Android的Intent机制。当你使用setClass()方法来设置一个新的活动时,实际上是在创建一个新实例而不是调用当前活动的类名。如果你想要执行的是将当前活动(即this)转换为另一个类的行为,那么你应当这样做:

    Intent intent = new Intent(this, YourNewActivity.class);
    startActivity(intent);
    

    在这个例子中,YourNewActivity是你要创建的新类的名称。

    如果你想让你的意图传递给某个对象而不是整个activity,你可以这样写:

    Intent intent = new Intent(this, YourNewActivity.class);
    intent.putExtra("key", "value");
    startActivityForResult(intent, 0); // 设置请求码和参数
    

    在这个例子中,YourNewActivity是你新的活动类的名字,"key"是你的参数,0是你的请求码。

    评论

报告相同问题?