簡體   English   中英

如何在 onActivityResult 中檢查哪個 onclick

[英]how to check which onclick is, in onActivityResult

我想知道,
它來自哪里,
在 onActivityResult 中單擊了哪個 clickListener。

誰能給我建議的例子?
我應該在哪里編輯?
我如何編輯?

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);

活動常量.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;

}

檢查上傳文件

 //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;

            }

你可以通過 requestCode 知道這一點

這是例子

    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

                                 }  
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM