tags:

views:

209

answers:

1

Hi, i'm begginer in android i have two screen i'm swithing between the screen but onActivityResult in not calling in my application but i'm getting my mainscreen back.i want result of my second screen plz help me its urgent.

this is my code

mainActivity.java

loadPicture.setOnTouchListener(new OnTouchListener() {

        public boolean onTouch(View v, MotionEvent event) {

            Intent i = new Intent(context, ImageThumbnailsActivity.class);
            startActivityForResult(i, 0);
            return true;
        }

    });

ImageThumbnailActivity.java

public class ImageThumbnailsActivity extends Activity {

private Cursor imagecursor, actualimagecursor;
private int image_column_index, actual_image_column_index;
GridView imagegrid;
private int count;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.image_gallery);
    init_phone_image_grid();

}

private void init_phone_image_grid() {
    String[] img = { MediaStore.Images.Thumbnails._ID };
    imagecursor = managedQuery(
            MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, img, null,
            null, MediaStore.Images.Thumbnails.IMAGE_ID + "");
    image_column_index = imagecursor
            .getColumnIndexOrThrow(MediaStore.Images.Thumbnails._ID);
    count = imagecursor.getCount();
    imagegrid = (GridView) findViewById(R.id.PhoneImageGrid);
    imagegrid.setAdapter(new ImageAdapterClass(getApplicationContext()));
    imagegrid.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView parent, View v, int position,
                long id) {
            //System.gc();
            String[] proj = { MediaStore.Images.Media.DATA };
            actualimagecursor = managedQuery(
                    MediaStore.Images.Media.EXTERNAL_CONTENT_URI, proj,
                    null, null, null);
            actual_image_column_index = actualimagecursor
                    .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            actualimagecursor.moveToPosition(position);
            String i = actualimagecursor
                    .getString(actual_image_column_index);
            //System.gc();
            Intent intent = new Intent();
            intent.putExtra("filename", i);
            //startActivity(intent);
            setResult(RESULT_OK,intent);
            finish();
        }
    });
}

public class ImageAdapterClass extends BaseAdapter {
    private Context mContext;

    public ImageAdapterClass(Context c) {
        mContext = c;
    }

    public int getCount() {
        return count;
    }

    public Object getItem(int position) {
        return position;
    }

    public long getItemId(int position) {
        return position;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        //System.gc();
        ImageView i = new ImageView(mContext.getApplicationContext());
        if (convertView == null) {
            imagecursor.moveToPosition(position);
            int id = imagecursor.getInt(image_column_index);
            i.setImageURI(Uri.withAppendedPath(
                    MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, ""
                            + id));
            i.setScaleType(ImageView.ScaleType.CENTER_CROP);
            i.setLayoutParams(new GridView.LayoutParams(92, 92));
        } else {
            i = (ImageView) convertView;
        }
        return i;
    }
}

}

A: 

It is not obvious that you have overloaded the activity's onActivityResult method.

mayfly