为什么Intent在调用Activity时没有重定向?
问题描述:
我有ListView包含两个TextViews(说t1,t2),并且该ListView是由xml创建的,这是在活动中膨胀。
我的需求是,如果用户点击一个ListView项目,其中包含t1一个新的活动应该和当点击一个项目,其中包含t2开始另一个活动。
但问题是,当我点击任何ListView项目时它不工作,它在两种情况下移动到相同的活动。为什么Intent在调用Activity时没有重定向?
我的代码(如 - 内getView()方法):
mylayout.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
try {
if (listType == 1) {
Log.v("active", "On Click " + (position));
Intent intent = new Intent(VoucherActiveScreen.this,MyVoucherDetailPage.class);
intent.putExtra("selectedIndex", position);
intent.putExtra("listType", listType);
startActivity(intent);
}
else if (listType == 3) {
//String str = offerPrice.getText().toString();
//System.out.println(str);
if (voucherOffer.getIs_redeem().toString().equals("1"))
{
System.out.println(voucherOffer.getIs_redeem().toString()+"if Rate"); //its working when click listview which contains Rate
Intent intratedeal=new Intent(getBaseContext(),RateDeal.class);
intratedeal.setClass(getBaseContext(), RateDeal.class);
startActivityForResult(intratedeal, 1);
}
else
{
System.out.println(voucherOffer.getIs_redeem().toString()+"else View"); //its working when click listview which contains View
Intent intratevendor=new Intent(getBaseContext(),RateVendor.class);
//intratevendor.setClass(getBaseContext(), RateVendor.class);
startActivityForResult(intratevendor, 1);
}
/*Intent intent = new Intent(
VoucherActiveScreen.this,
MyVoucherDetailPage.class);
intent.putExtra("listType", listType);
intent.putExtra("selectedIndex", position);*/
Log.v("inactiveeeeeeeeeeeeeeeeee", "On Click " + (position));
//startActivity(intent);
}
} catch (Exception e) {
// TODO: handle exception
}
}
});
请任何一个可以帮助... 控制在朝好的方向发展的if-else块,但目的不是重定向相同的活动
答
您可以像这样设置旗标:
Intent intent = new Intent(VoucherActiveScreen.this,MyVoucherDetailPage.class);
intent.putExtra("selectedIndex", position);
intent.putExtra("listType", listType);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
上面的代码片段将开始一个新的活动任务。请参阅此链接:
http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NEW_TASK
您是否收到任何错误或异常?请在这里写出错误... – 2012-04-17 12:09:23
没有错误,问题在于if-else块中提到的不是重定向必需活动,而是检测右块 – sandee 2012-04-17 12:10:32