0

This is my first Activity

ArrayList<Integer> deletedPositions = new ArrayList<>();
.
.
.
deletedPositions.add(2);
Log.d("Deleted Position is: ", " " + deletedPositions);
// I can see 2 in my Log


public void onBackPressed(){
        super.onBackPressed();
        Log.e("----------------->", "Back Pressed");
        Intent intent=new Intent();
        intent.putExtra("isdeleted",true);
        intent.putExtra("pos",deletedPositions);
        setResult(2,intent);
        finish();
    }

This is my receiving Activity

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        Log.d("----------->","onActivityResult Called " + requestCode + " " + requestCode + " " + data);
        super.onActivityResult(requestCode, resultCode, data);
       if(requestCode==2 && data != null)
      {
            ArrayList<Integer> positionsToBeRemoved = data.getIntegerArrayListExtra("pos");

But i'm getting null in data which should be 2 Where am I doing it wrong? Thank You

Amar Ilindra
  • 923
  • 2
  • 11
  • 30

2 Answers2

0

Try this it may be help to you

ArrayList<Integer> deletedPositions = new ArrayList<>();
Intent intent=new Intent();
intent.putExtra("isdeleted",true);
intent.putIntegerArrayListExtra("pos",deletedPositions);
setResult(2,intent);

And Get Result like

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
   Log.d("----------->","onActivityResult Called " + requestCode + " " + requestCode + " " + data);
   super.onActivityResult(requestCode, resultCode, data);
   if(requestCode==2 && data != null)
   {
       ArrayList<Integer> positionsToBeRemoved = data.getExtras().getIntegerArrayList("pos");

   }
Abhishek Patel
  • 4,280
  • 1
  • 24
  • 38
0

Remove super.onBackPressed(); line in onBackPressed method and check.

First Activity

public class MainActivity extends AppCompatActivity
{

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


        startActivityForResult(new Intent(this, Main2Activity.class), 100);
    }

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

        if (requestCode==100 && resultCode==100 && data!=null)
        {
            System.out.println("pos "+data.getExtras().getIntegerArrayList("pos"));


        }
    }
}

Second Activity

public class Main2Activity extends AppCompatActivity
{
    ArrayList<Integer> mDeletedPosLst;

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

        mDeletedPosLst = new ArrayList<>();

        mDeletedPosLst.add(1);
        mDeletedPosLst.add(3);
        mDeletedPosLst.add(5);
        mDeletedPosLst.add(6);
    }

    @Override
    public void onBackPressed()
    {
        //super.onBackPressed();

        Intent intent=new Intent();
        intent.putExtra("isdeleted",true);
        intent.putExtra("pos",mDeletedPosLst);
        setResult(100,intent);
        finish();
    }
}
Kumar M
  • 994
  • 6
  • 21