当前位置: 首页 > 知识库问答 >
问题:

为什么数据不能传递到第二个活动

方英耀
2023-03-14

根据教程中的示例使用XamarinStudio和下面的代码。这里是问题。

    null

---Activity 1  

[Activity (Label = "HelloMultiScreen", MainLauncher = true,Icon = "@drawable/icon")]

    public class FirstActivity : Activity

    {

        int count = 1;



        protected override void OnCreate (Bundle bundle)

        {

            base.OnCreate (bundle);



            //Use UI created in Main.axml

            SetContentView (Resource.Layout.Main);



            var showSecond = FindViewById (Resource.Id.showSecond);

            showSecond.Click += (sender, e) => {

                var second = new Intent(this, typeof(SecondActivity));

                second.PutExtra("FirstData", "Data from FirstActivity");

                StartActivity (typeof(SecondActivity));

            };

        }

    }


---Activity 2

    [Activity (Label = "SecondActivity")]           

    public class SecondActivity : Activity

    {

        protected override void OnCreate (Bundle bundle)

        {

            base.OnCreate (bundle);


            // Create your application here


            SetContentView (Resource.Layout.Second);

            var label = FindViewById (Resource.Id.screen2Label);

            label.Text = Intent.GetStringExtra("FirstData") ?? "Data not available";

        }

    }

谢谢

共有1个答案

郭凯
2023-03-14

好吧,当我自己重新制作这个项目时,我发现了这个问题。问题就出在这段代码中:

var second = new Intent(this, typeof(SecondActivity));
second.PutExtra("FirstData", "Data from FirstActivity");
StartActivity (typeof(SecondActivity));

发生的事情是,你用正确的数据做出了意图。但是您在没有这些数据的情况下开始了一个新的活动。要修复它,请将代码改为:

var second = new Intent(this, typeof(SecondActivity));
second.PutExtra("FirstData", "Data from FirstActivity");
StartActivity(second);`
 类似资料:
  • 问题内容: 我有一个奇怪的问题。我正在网上浏览,但没有找到答案。我仍然是android编程的初学者。让我们开始吧: 我要做的就是用一些数据调用第二个Activity。它适用于较小的数据,但是如果数据变大,则第二个活动将不会显示,第一个活动将结束。这是调用方法的代码: 接收数据的部分并不重要。即使我不尝试阅读捆绑软件,也不会调用该活动。我用以下几行进行了测试: 永远不会被调用。 也许您有一个主意…谢

  • 问题内容: 我目前正在尝试获取通过REST API调用获取的数据,将其解析为所需的信息,然后将该信息传递给新活动。我使用的是异步HTTP客户端从loopj.com为REST客户端,然后使用我下面的代码,并为当前和未来的活动,分别。 Eclipse不会为我的任何代码传递任何错误,但是当我尝试在模拟器中运行时,当新的活动/视图打开时,我什么也没得到(即白屏)。我尝试在REST CLIENT中使用其他U

  • 类BookDescription:AppCompatActivity(){override fun onCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(R.Layout.Activity_Book_Description) 类适配器(private val Context:Con

  • 我尝试使用 如有任何帮助,不胜感激,谢谢。

  • 很抱歉问了一个关于已经讨论过很多次的论点的非常基本的问题,我就是想不出答案。我试着在论坛上搜索已经在主题上提出的问题,但没有找到确切的答案(或者不理解)。 当以不同顺序调用时,为什么此函数会打印两次从i到10的数字?它不应该按同样的顺序打印出来吗?我一直听说递归就是这样工作的:每个函数在其代码中调用另一个相同的函数,只应用于较小的域,直到满足结束条件为止。此时,它应该返回(回溯)到原始函数;这就是

  • 我想把这些数据从当前的activity发送到更多的“BusinformationScard”activity。 @override public void onBindViewHolder(@nonnull ViewHolder ViewHolder,final int position){