2016-11-16 3 views
-2

Je veux savoir,
où il vient,
qui clickListener est cliqué dans onActivityResult.comment vérifier que onclick est, en onActivityResult

quelqu'un pourrait-il me donner un exemple de conseil?
où devrais-je éditer?
Comment éditer?

Regist_Slide_Images.java

iv_slide1 = (ImageView) findViewById(R.id.iv_slide1); 


iv_slide2 = (ImageView) findViewById(R.id.iv_slide2); 


iv_slide1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

      Intent Intent = new Intent(Regist_Slide_Images.this, CheckUpload.class); 

      Intent.putExtra("calling-activity", ActivityConstants.ACTIVITY_4); 

      startActivityForResult(Intent, 1); 

     } 
    }); 


    iv_slide2.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

      Intent Intent = new Intent(Regist_Slide_Images.this, CheckUpload.class); 

      Intent.putExtra("calling-activity", ActivityConstants.ACTIVITY_5); 

      startActivityForResult(Intent, 1); 

     } 
    }); 



@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 

      if(resultCode == RESULT_OK){ 

       if(requestCode == 1) { 




        int callingActivity = getIntent().getIntExtra("calling-activity", 0); 

        switch (callingActivity) { 


         case ActivityConstants.RESULT_1: 

          //data.putExtra("image_name",a); 

          a = data.getStringExtra("image_name"); 

          if(a != null) 
          { 
           //Start download 
           Uri.Builder builder = new Uri.Builder(); 
           builder.scheme("http") 
             .authority("192.168.200.200") 
             .appendPath("AndroidFileUpload") 
             .appendPath("select_image.php") 
             .appendQueryParameter("slide", a); 
           myUrl = builder.build().toString(); 

           b = null; 
          } 


          break; 




         case ActivityConstants.RESULT_2: 

          //data.putExtra("image_name2", a); 

          b = data.getStringExtra("image_name2"); 

          if(b != null) 
          { 

           //Start download 
           Uri.Builder builder = new Uri.Builder(); 
           builder.scheme("http") 
             .authority("192.168.200.200") 
             .appendPath("AndroidFileUpload") 
             .appendPath("select_image.php") 
             .appendQueryParameter("slide", b); 
           myUrl = builder.build().toString(); 

           a = null; 
          } 


          break; 


        } 

        asyncTask.delegate = this; 

        asyncTask.execute(myUrl); 

ActivityConstants.java

public interface ActivityConstants { 

public static final int ACTIVITY_1 = 1001; 
public static final int ACTIVITY_2 = 1002; 
public static final int ACTIVITY_3 = 1003; 
public static final int ACTIVITY_4 = 1004; 
public static final int ACTIVITY_5 = 1005; 


public static final int RESULT_1 = 101; 
public static final int RESULT_2 = 102; 

} 

CheckUpload.java

//Grid view click event 
     mGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View v, int position, long id) { 



      //String a = String.valueOf(position); 


      String a = mGridData.get(position).getTitle(); 

      //Toast.makeText(getApplication(), a, Toast.LENGTH_LONG).show(); 


      int callingActivity = getIntent().getIntExtra("calling-activity", 0); 

      switch (callingActivity) { 


       case ActivityConstants.ACTIVITY_3: 


        Intent intent = new Intent(CheckUpload.this, DetailActivity.class); 

        intent.putExtra("title",a); 

        startActivity(intent); 


        break; 




       case ActivityConstants.ACTIVITY_4: 

        //Intent intent2 = getIntent(); 

        //filePath2 = intent2.getStringExtra("Images2"); 

        Intent intent2 = new Intent(CheckUpload.this, Regist_Slide_Images.class); 

        intent2.putExtra("image_name", a); 
        //intent2.putExtra("calling-activity", ActivityConstants.RESULT_1); 

        getIntent().putExtra("calling-activity", ActivityConstants.RESULT_1); 

        setResult(RESULT_OK, getIntent()); 
        //setResult(RESULT_OK, intent2); 

        finish(); 

        break; 


       case ActivityConstants.ACTIVITY_5: 

        //Intent intent2 = getIntent(); 

        //filePath2 = intent2.getStringExtra("Images2"); 

        Intent intent3 = new Intent(CheckUpload.this, Regist_Slide_Images.class); 

        intent3.putExtra("image_name2", a); 
        intent3.putExtra("calling-activity", ActivityConstants.RESULT_2); 

        setResult(RESULT_OK, intent3); 

        finish(); 

        break; 

      } 
+0

ok désolé je posterai maintenant – user3662974

+1

Ajouter un code différent de demande d'appels différents, voir la signature de la méthode: 'startActivityForResult public void (intention Intent, int requestCode)' –

+0

Abhinav Puri pourrait vous plase me donner l'exemple? – user3662974

Répondre

2

vous pouvez le savoir par requestCode

Voici l'examen PLE

public class MainActivity extends Activity{ 

    Button button1,button2; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     button1=(Button)findViewById(R.id.button1); 
     button2=(Button)findViewById(R.id.button2); 

     button1.setOnClickListener(new OnClickListener() { 
        @Override 
        public void onClick(View arg0) { 
         Intent intent=new Intent(MainActivity.this,SecondActivity.class); 
         startActivityForResult(intent, 1);// Activity is started with requestCode 1 
        } 
       }); 

     button2.setOnClickListener(new OnClickListener() { 
        @Override 
        public void onClick(View arg0) { 
         Intent intent=new Intent(MainActivity.this,SecondActivity.class); 
         startActivityForResult(intent, 2);// Activity is started with requestCode 2 
        } 
       }); 
      } 

     @Override 
     protected void onActivityResult(int requestCode, int resultCode, Intent data) 
       { 
         super.onActivityResult(requestCode, resultCode, data); 
          // check if the request code is same as what is passed here it is 2 
          if(requestCode==1) 
           { 
            // button1 
           } 
          else if(requestCode==2){ 

            // button2 

           } 
     } 
+0

je vous remercie tellement profond, vous êtes ange. – user3662974