我在使用xamarin开发android的新手我只是想问一下如何使用intent通过其他活动传递数据?这件事工作(https://developer.xamarin.com/recipes/android/fundamentals/activity/pass_data_between_activity/)但我想先收集2个活动中的所有数据,然后才能在我的第3个活动中显示摘要。(顺便说一下,我正在创建一个注册应用,感谢未来的答案:) )
答案 0 :(得分:2)
在第一个活动中,您通过意图创建第二个活动,并使用方法PutExtra通过启动新活动以检索数据后需要的相关密钥名称传递所需数据。
<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>
第二个活动OnCreate使用存储的密钥名称检索数据,并传递与传递的数据类型相关的正确方法。在这个例子中,通过调用Intent.GetStringExtra来获取字符串。
var secondActivity = new Intent (this, typeof(SecondActivity));
secondActivity.PutExtra ("Data", "Sample Data");
StartActivity(secondActivity);
你可以重复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));