如何在xamarin中使用intent传递数据

时间:2017-04-29 19:52:01

标签: android xamarin

我在使用xamarin开发android的新手我只是想问一下如何使用intent通过其他活动传递数据?这件事工作(https://developer.xamarin.com/recipes/android/fundamentals/activity/pass_data_between_activity/)但我想先收集2个活动中的所有数据,然后才能在我的第3个活动中显示摘要。(顺便说一下,我正在创建一个注册应用,感谢未来的答案:) )

2 个答案:

答案 0 :(得分:2)

  1. 在第一个活动中,您通过意图创建第二个活动,并使用方法PutExtra通过启动新活动以检索数据后需要的相关密钥名称传递所需数据。

  2.     <table>
        <tbody>
    <?php
    $connect = mysql_connect("localhost","root", "");
    if (!$connect) {
    die(mysql_error());
    }
    mysql_select_db("liceo");
    $results = mysql_query("SELECT rut, nombre, apellido FROM alumnos") or die(mysql_error);
    while($row = mysql_fetch_object($results)) {
    $rut = $row->rut;
    
    $results2 = mysql_query("SELECT nota FROM notas WHERE rut_alumno = '$rut' LIMIT 1");
    ?>
    <tr>
    <td><?=$row->rut?></td>
    <td><?=$row->nombre?></td>
    <td><?=$row->apellido?></td>
    <td>
    
    <?php
    while($nota = mysql_fetch_object($results2)):
    ?>
    <input type="text" name="pin" maxlength="2" size="2" value="<?=$nota->nota?>">
    <?php
    endwhile;
    ?>
    </td>
    </tr>
    
    <?php
    }
    ?>
    </tbody>
    </table>
    
  3. 第二个活动OnCreate使用存储的密钥名称检索数据,并传递与传递的数据类型相关的正确方法。在这个例子中,通过调用Intent.GetStringExtra来获取字符串。

    var secondActivity = new Intent (this, typeof(SecondActivity));
    
    secondActivity.PutExtra ("Data", "Sample Data");
    
    StartActivity(secondActivity);
    
  4. 你可以重复1&amp; 2为摘要活动。

答案 1 :(得分:0)

您可以传递整个对象,并在另一个这样的活动中对其进行消毒

//To pass:
intent.putExtra("yourKey", item);

// To retrieve object in second Activity
getIntent().getSerializableExtra("yourKey");

您只能使用单个值

//Method 1
string code = Intent.GetStringExtra("id") ?? string.Empty;
string name = Intent.GetStringExtra("Name") ?? string.Empty;

//OR

//Method 2

string Id = Intent.GetStringExtra("id") ?? string.Empty;
Item item = new Item();
item = itemRepo.Find(Convert.ToInt32(id));