Android Intent putExtra与静态调用?

杰森·阿克塞尔罗德(Jason Axelrod)

我正在使用Intent启动活动,如下所示:

起源:

public class ChallongeLogin extends Activity
{
    public static String API_KEY, SUBDOMAIN;

    public void onClick(View view)
    {
        API_KEY = api_key.getText().toString();
        SUBDOMAIN = subdomain.getText().toString();

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

目标:

public class ChallongeEvents extends Activity implements View.OnClickListener 
{
    String API_KEY = ChallongeLogin.API_KEY;
    String SUBDOMAIN = ChallongeLogin.SUBDOMAIN;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_challonge_events);
    }
}

如您所见,我所做的ChallongeEvents就是创建类,我只是从中获取静态值ChallongeLogin并将其放入局部变量中。

现在在这里查看Google的官方Android教程:http : //developer.android.com/training/basics/firstapp/starting-activity.html

他们做的有些不同。它们不使用从原始源调用的静态值,而是使用以下命令传递数据putExtra

intent.putExtra(EXTRA_MESSAGE, message);

然后,他们使用以下方法检索它:

String message = intent.getStringExtra(MyActivity.EXTRA_MESSAGE);

他们为什么要做这些额外的步骤?我的操作方式有问题吗?

特杰

我们将对象解析为意图上的多余对象的原因是,这样您就可以为激发的特定结果保留该意图实例的状态。

您正在为ChallengeLogin活动的每个实例设置要与之交互的对象的值。如果在开始上一次交互的意图时访问和/或修改了该挑战活动,您将收到当前实例的值,而不是意图发起时需要传递的值。

那是公正的,也是为什么为什么在启动活动时进行静态调用不是实现所需功能的最佳方法。

同样,您也可以通过以下方法:使用putExtra()和getExtra()。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

RuntimeException:android.content.Intent中的方法putExtra不被模拟

来自分类Dev

android studio中intent.getStringExtra和intent.putExtra的解释

来自分类Dev

getActivity()调用导致RuntimeException:无法启动Intent Intent act = android.intent.action.MAIN

来自分类Dev

getActivity()调用导致RuntimeException:无法启动Intent Intent act = android.intent.action.MAIN

来自分类Dev

Intent.setData与Intent.putExtra

来自分类Dev

在Android Intent中的putExtra中传递null会导致编译时错误?

来自分类Dev

如何在Android的Fragment中使用'bundle'而不是'intent.putExtra()'

来自分类Dev

如何将OpenCV Mat作为putExtra发送到Android Intent?

来自分类Dev

如何在Android的Fragment中使用'bundle'而不是'intent.putExtra()'

来自分类Dev

Android Wear Intent.putExtra用于具有contentAction的多个页面

来自分类Dev

Android Wear onPeerConnected未通过新的Wear Intent调用

来自分类Dev

Android:如何使用Intent从活动中调用Fragment类

来自分类Dev

Android:来自Async的Intent调用引发了NullPointerException

来自分类Dev

Android Wear onPeerConnected未通过新的Wear Intent调用

来自分类Dev

Android Intent无法启动

来自分类Dev

Android Intent createChooser()

来自分类Dev

mvvmcross android intent插件

来自分类Dev

Android Intent活动逻辑?

来自分类Dev

Android Intent Extras

来自分类Dev

全面了解Android Intent

来自分类Dev

Android Intent 服务 + 通知

来自分类Dev

Android Intent“预期表达”

来自分类Dev

Android 的 Intent 问题

来自分类Dev

在Fragment内部的RecyclerView的ViewHolder调用的startActivity(intent)中使用putExtra时,应用程序崩溃

来自分类Dev

非静态字段,方法或属性'Android.Content.Intent.GetStringExtra(string)'需要对象引用

来自分类Dev

Intent和putExtra不起作用

来自分类Dev

intent.putExtra有什么作用?

来自分类Dev

Intent putExtra在RecyclerView(Kotlin)的ViewHolder中

来自分类Dev

Intent和putExtra不起作用

Related 相关文章

  1. 1

    RuntimeException:android.content.Intent中的方法putExtra不被模拟

  2. 2

    android studio中intent.getStringExtra和intent.putExtra的解释

  3. 3

    getActivity()调用导致RuntimeException:无法启动Intent Intent act = android.intent.action.MAIN

  4. 4

    getActivity()调用导致RuntimeException:无法启动Intent Intent act = android.intent.action.MAIN

  5. 5

    Intent.setData与Intent.putExtra

  6. 6

    在Android Intent中的putExtra中传递null会导致编译时错误?

  7. 7

    如何在Android的Fragment中使用'bundle'而不是'intent.putExtra()'

  8. 8

    如何将OpenCV Mat作为putExtra发送到Android Intent?

  9. 9

    如何在Android的Fragment中使用'bundle'而不是'intent.putExtra()'

  10. 10

    Android Wear Intent.putExtra用于具有contentAction的多个页面

  11. 11

    Android Wear onPeerConnected未通过新的Wear Intent调用

  12. 12

    Android:如何使用Intent从活动中调用Fragment类

  13. 13

    Android:来自Async的Intent调用引发了NullPointerException

  14. 14

    Android Wear onPeerConnected未通过新的Wear Intent调用

  15. 15

    Android Intent无法启动

  16. 16

    Android Intent createChooser()

  17. 17

    mvvmcross android intent插件

  18. 18

    Android Intent活动逻辑?

  19. 19

    Android Intent Extras

  20. 20

    全面了解Android Intent

  21. 21

    Android Intent 服务 + 通知

  22. 22

    Android Intent“预期表达”

  23. 23

    Android 的 Intent 问题

  24. 24

    在Fragment内部的RecyclerView的ViewHolder调用的startActivity(intent)中使用putExtra时,应用程序崩溃

  25. 25

    非静态字段,方法或属性'Android.Content.Intent.GetStringExtra(string)'需要对象引用

  26. 26

    Intent和putExtra不起作用

  27. 27

    intent.putExtra有什么作用?

  28. 28

    Intent putExtra在RecyclerView(Kotlin)的ViewHolder中

  29. 29

    Intent和putExtra不起作用

热门标签

归档