我试图通过这个:
Intent i=new Intent(ctx,SpendingsDetails.class);
extras.putString("SpendingAmount", "1");
extras.putString("SpendingDescription","2");
extras.putString("SpendingDate","3");
i.putExtras(extras);
startActivityForResult(i,1);
获取信息的活动会执行以下信息..
spendingAmount=(TextView)findViewById(R.id.spending_Sum);
spendingDetails=(TextView)findViewById(R.id.spending_Details);
Bundle extras=getIntent().getExtras();
if(extras!=null)
{
spendingAmount.setText(extras.getString("SpendingAmount"));
spendingDetails.setText(extras.getString("SpendingDescription"));
}
我收到的错误是应用程序无法在第一个活动屏幕上继续。我做错了什么?
答案 0 :(得分:5)
像这样使用
Intent i=new Intent(ctx,SpendingsDetails.class);
i.putExtras("SpendingAmount", "1");
i.putExtras("SpendingDescription","2");
i.putExtras("SpendingDate","3");
startActivityForResult(i,1);
答案 1 :(得分:3)
你可以直接调用getStringExtra:
spendingAmount.setText(getIntent().getStringExtra("SpendingAmount"));
等等你需要的其他值。
当然,您也可以先检查一下该值是否存在:
String spending = getIntent().getStringExtra("SpendingAmount");
if(spending != null) {
spendingAmount.setText(spending);
}
编辑:像Rasel说:
i.putExtra("SpendingAmount", "1");
起初我没有看到。
答案 2 :(得分:2)
你在哪里宣布额外服务?看看变化。
Intent i=new Intent(ctx,SpendingsDetails.class);
Bundle extras=new Bundle();
extras.putString("SpendingAmount", "1");
extras.putString("SpendingDescription","2");
extras.putString("SpendingDate","3");
i.putExtras(extras);
startActivityForResult(i,1);
答案 3 :(得分:2)
我认为你宣布了你的捆绑对象。但是没有分配内存。那就是你需要添加这段代码。
Intent i=new Intent(ctx,SpendingsDetails.class);
Bundle extras=new Bundle();// add this code and try once
extras.putString("SpendingAmount", "1");
extras.putString("SpendingDescription","2");
extras.putString("SpendingDate","3");
i.putExtras(extras);
startActivityForResult(i,1);
希望它有所帮助。
答案 4 :(得分:1)
请查看LogCat以获取异常堆栈跟踪。这是第一个看东西“不起作用”的地方。