Et Andrea
Et Andrea

Reputation: 273

onActivityResult failed

I've made a custom contact picker for multiple selection. Now I want to display my selected contact list but I failed to do so. I want to show it at my CreateTab layout. Anyone please help me.

In My CreateTab.class

//To start ContactList.class
private OnClickListener click_listener = new OnClickListener() {

    @Override
    public void onClick(View view) {


        switch(view.getId()) {
        case R.id.add_button:
            Intent i = new Intent(getApplicationContext(), ContactList.class);
            startActivityForResult(i, 100);

            }   
        }       
};


@Override
protected void onActivityResult(int requestCode,int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode == RESULT_OK){
        data.getExtras().getString("str");
    }
}

In my ContactList.class

             @Override
             public void onClick(View v) {
                 StringBuilder checkedcontacts= new StringBuilder();
                 System.out.println("............"+ma.mCheckStates.size());
                 for(int i = 0; i < name1.size(); i++)
                     {
                     if(ma.mCheckStates.get(i)==true)
                     {
                          checkedcontacts.append(name1.get(i).toString());
                          checkedcontacts.append("\n"); 
                     }

                     else
                     {
                         System.out.println("..Not Checked......"+name1.get(i).toString());
                     }

                 }     

                   Intent i = new Intent();
                   i.putExtra("str", checkedcontacts.toString());
                   setResult(RESULT_OK,i);
                   finish();
             }       
         });

Upvotes: 0

Views: 952

Answers (1)

Andy Res
Andy Res

Reputation: 16043

Dont' use RESULT_OK to start the activity for result. Instead use a custom request code.

For example:

int PICK_CONTACT_REQUEST_CODE = 100;
//....
startActivityForResult(i, PICK_CONTACT_REQUEST_CODE ); 

Upvotes: 1

Related Questions