Как обрабатывать функцию onActivityResult в TabLayout в Android

У меня есть вкладка «Активность» с 5 вкладками, а именно камера, галерея, список, история и выход из системы на вкладке камеры. Я открываю камеру, делаю снимок и сохраняю в галерее, и в то же время я открываю форму с этим выбранным изображением. Моя проблема заключается в том, что когда я не заполняю форму и не перехожу на другую вкладку, а затем снова возвращаюсь к этой камере, она показывает тот же макет, который используется в функции onActivityResult(), вот мой код. Пожалуйста, дайте мне ответ, можем ли мы завершить операцию open onActivityResult().

public class PhotoScreen extends Activity{
//private static final String[] COUNTRIES = new String[] {"Apartment", "Land"};
public int TAKE_PICTURE = 0;
Button takepicture;
public static String propertynamevalue;
Bitmap mBitmap = null;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.photolayout);

    takepicture = (Button) findViewById(R.id.button1);
    takepicture.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(intent, TAKE_PICTURE);

        }
    });

}


@Override
protected void onActivityResult(int requestCode, int resultCode, final Intent data) 
{
   setContentView(R.layout.publish);
    super.onActivityResult(requestCode, resultCode, data);
    final DatabaseHandler db=new DatabaseHandler(this.getBaseContext());
    Button save =(Button)findViewById(R.id.save);
    if (requestCode == TAKE_PICTURE) 
    {

           if(resultCode == RESULT_OK)
           { 
               Log.v("test", "Camera intent succeeded");

               mBitmap = (Bitmap) data.getExtras().get("data");
                   ImageView imageView =(ImageView)findViewById(R.id.imgView);
                   Canvas can = new Canvas();
                   can.setBitmap(Bitmap.createBitmap(mBitmap.getWidth(), mBitmap.getHeight(), Bitmap.Config.RGB_565));
                   imageView.setImageBitmap(mBitmap);



           }
           else if(resultCode == RESULT_CANCELED)
           {  
               setContentView(R.layout.photolayout);
               Log.i("test1", "Camera intent aborted");
           }
           else
           {  
               Log.e("test2", "Camera intent failed with result code: " + resultCode);
           }
    }
    save.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View arg0) {
            // Inserting Property
            EditText propname=(EditText)findViewById(R.id.etcity1);
            EditText propcost=(EditText)findViewById(R.id.etcity2);
            EditText propaddress=(EditText)findViewById(R.id.etcity3);
            EditText propbuilduparea=(EditText)findViewById(R.id.etcity4);
            EditText propcategory=(EditText)findViewById(R.id.etcity5);
            Log.d("Insert: ", "Inserting ..");
            db.addProperty(new Property(propname.getText().toString(), propcost.getText().toString(),propaddress.getText().toString(),propbuilduparea.getText().toString(),propcategory.getText().toString()));
            //Log.d("propcost: ", ""+Double.parseDouble(propcost.getText().toString())+"");
            propname.setText("");
            propcost.setText("");
            propaddress.setText("");
            propbuilduparea.setText("");
            propcategory.setText("");

            // Reading all contacts
            List<Property> property = db.getAllContacts();
            for (Property cn : property){
                Log.d("Reading: ", "Reading all contacts..");
                String log = "Id: "+cn.getID()+" ,Name: " + cn.getName() + " ,Cost: " + cn.getCost()+ " ,Address: " + cn.getAddress()+ " ,Builduparea: " + cn.getBuilduparea()+" ,Category: " + cn.getCategory();
                // Writing Contacts to log
                Log.d("Name: ", log);
            }
            setContentView(R.layout.photolayout);
            Toast.makeText(getApplicationContext(), "Your Data Has been saved successfully", Toast.LENGTH_LONG).show();
            }



    });

}

person Irshad Khan    schedule 22.11.2012    source источник
comment
проверьте, поможет ли это вам в любом случае /questions/10777154/ или stackoverflow.com/questions/ 7812120/   -  person G_S    schedule 22.11.2012
comment
спасибо @sharath, но моя проблема заключается в том, что код внутри onActivityResult тайский setContentView(R.layout.publish); вызывается каждый раз, когда я хочу, чтобы он вызывался только тогда, когда я выбираю изображение из галереи или делаю снимок с камеры, пожалуйста, помогите   -  person Irshad Khan    schedule 23.11.2012
comment
Я не понял твою проблему. Не могли бы вы объяснить это в своем вопросе, отредактировав его   -  person G_S    schedule 23.11.2012
comment
@sharath На самом деле я хочу использовать setContentView(R.layout.publish); только когда я делаю снимок с камеры или выбираю изображение из галереи, посмотрите мой код, пожалуйста. так как он используется при запуске функции onActivityResult()   -  person Irshad Khan    schedule 23.11.2012
comment
почему бы вам не начать новую активность, используя намерения   -  person G_S    schedule 23.11.2012