首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >空GetStringExtra (意图)- Xamarin.Droid

空GetStringExtra (意图)- Xamarin.Droid
EN

Stack Overflow用户
提问于 2017-06-20 09:25:30
回答 1查看 754关注 0票数 0

我使用意图将数据从一个activity1传递到activity2。我用activity1来安慰我的数据,并且能够看到我发送给activity2的数据。但是,当我在activity2中接收数据时,我没有收到任何数据。我基本上遵循了正确的程序使用意图,但诀窍是行不通的。

问题:异步过程是否影响意图的使用?

activity1

代码语言:javascript
复制
private async Task GetData()
{
    var firebase = new FirebaseClient(FirebaseUrl);
    var items = await firebase.Child("TableName").OnceAsync<Person>();

    foreach (var item in items)
    {
        Person details = new Person();
        details.Name = item.Object.Name;
        person.Add(details);
    }

    void OnItemClick(object sender, int position)
    {
        Intent peaceHeroDetail = new Intent(this, typeof(PersonDetailActivity));
        Intent.PutExtra(PersonDetailActivity.EXTRA_NAME, person[position].Name.ToString());
        // the value of what is being sent is seen
        Console.WriteLine("This is selected person " +person[position].Name);
    }
}

activity2

代码语言:javascript
复制
public const string EXTRA_NAME = "Person Name";
string PName = Intent.GetStringExtra(EXTRA_NAME);
//it is empty
Console.WriteLine("This is the received detail "+ PName);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-20 09:48:02

由于你的评论显示这是一个错误,我删除了旧的答案,并给了你这个更新。

更新

请查看以下文章:在活动之间传递数据

在第一次活动中,您应该更改以下内容:

代码语言:javascript
复制
Intent peaceHeroDetail = new Intent(this, typeof(PersonDetailActivity));
Intent.PutExtra(PersonDetailActivity.EXTRA_NAME, person[position].Name.ToString());

对此:

代码语言:javascript
复制
Intent peaceHeroDetail = new Intent(this, typeof(PersonDetailActivity));
peaceHeroDetail.PutExtra(PersonDetailActivity.EXTRA_NAME, person[position].Name.ToString());

然后使用:StartActivity(peaceHeroDetail);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44649020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档