为什么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块,但目的不是重定向相同的活动

+0

您是否收到任何错误或异常?请在这里写出错误... – 2012-04-17 12:09:23

+0

没有错误,问题在于if-else块中提到的不是重定向必需活动,而是检测右块 – sandee 2012-04-17 12:10:32

您可以像这样设置旗标:

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