Autore Topic: in questo caso non si può usare il set result!  (Letto 614 volte)

Offline Jason88

  • Utente junior
  • **
  • Post: 73
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S
in questo caso non si può usare il set result!
« il: 15 Gennaio 2012, 18:55:07 CET »
0
salve ho un activity POI.java

Codice (Java): [Seleziona]
import io.tesi.primo.R;
import io.tesi.primo.R.id;
import io.tesi.primo.R.layout;

import java.io.Serializable;
import java.util.Vector;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.MultiAutoCompleteTextView;
import android.widget.TextView;
import android.widget.Toast;


public class POI extends Activity implements Serializable {
        private static final int POSITION_CAPTURE = 0;
        private String nomePOI;
        private String Descrizione;
        private Punto punto;
        private Vector<Foto> foto;
       
       
        public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.creazione_poi);
        autoCompletamento();
       
     
       
       
        Button bottonecamera = (Button) findViewById(R.id.camera_pag2);
        bottonecamera.setOnClickListener(new OnClickListener()
                        {
                                                int i=1;//imposta un valore per far capire all'activity foto che si fa scatta nuova foto e non sfoglia
                            @Override
                           
                                                        public void onClick(View v) {
                                                        startSubActivity(i) ;

                        }

                        });
       
        Button bottonesfoglia = (Button) findViewById(R.id.sfoglia_pag2);
        bottonesfoglia.setOnClickListener(new OnClickListener()
                        {
                                                int i=2;//imposta un valore per far capire all'activity foto che si fa  sfoglia
                            @Override
                                                        public void onClick(View v) {
                                                        startSubActivity(i) ;

                        }

                        });

        Button bottoneavanti = (Button) findViewById(R.id.avanti);
        bottoneavanti.setOnClickListener(new OnClickListener()
                        {
                                               
                            @Override
                                                        public void onClick(View v) {
                                //Intent intent = new Intent(POI.this, Punto.class);
                                //startActivityForResult(intent, POSITION_CAPTURE);
                                 POI a=new POI();
                                 MultiAutoCompleteTextView recuperoNome = (MultiAutoCompleteTextView)findViewById(R.id.nomepoi_pag2);
                                 a.setNomePOI(recuperoNome.getText().toString());
                                 EditText recuperoDescrizione=(EditText)findViewById(R.id.descrizione_pag2);
                                 a.setDescrizione(recuperoDescrizione.getText().toString());
                               
                                 Intent prova = new Intent(POI.this, Utente.class);
                                 String pkg=getPackageName();
                                 prova.putExtra(pkg+".myPOI", a);  
                                 startActivity(prova);
                                               
                               
                               
                               
                               
                               
                               
                                 
                               
                               
                               
                               

                        }

                                               

                        });
       
     
       
       
        Button bottoneindietro = (Button) findViewById(R.id.indietro);
        bottoneindietro.setOnClickListener(new OnClickListener()
                        {
                            @Override
                                                        public void onClick(View v) {
                                                        finish();

                        }

                        });
        }
       
       
       
        protected void startSubActivity(int i) {
                Intent intent = new Intent(POI.this, Foto.class);
                String pkg=getPackageName();
                intent.putExtra(pkg+".myInt", i);
            startActivity(intent);
               
        }

         public void onActivityResult( int requestCode, int resultCode, Intent data ) {

         if (  requestCode == POSITION_CAPTURE ) {

             
                 
                 Punto rilevato = ( Punto) data.getExtras().get( "data" );
               
         }
               
                 
               

         }

        public POI(){}
       
       
        public Punto getPunto() {
                return punto;
        }
        public void setPunto(Punto punto) {
                this.punto = punto;
        }
       
        public String getDescrizione() {
                return Descrizione;
        }
        public void setDescrizione(String descrizione) {
                Descrizione = descrizione;
        }
        public String getNomePOI() {
                return nomePOI;
        }
        public void setNomePOI(String nomePOI) {
                this.nomePOI = nomePOI;
        }
       
        public void autoCompletamento(){
                MultiAutoCompleteTextView mactv= (MultiAutoCompleteTextView)this.findViewById(R.id.nomepoi_pag2);
                ArrayAdapter<String> parola = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, new String[]{"Ristorante","Casa","Scuola","Università","Mare","Colosseo","Supermercato","negozio","Ospedale","Campo","Sportivo","sport"});          
                mactv.setAdapter(parola);
                mactv.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
        }



        public Vector<Foto> getFoto() {
                return foto;
        }



        public void setFoto(Foto foto) {
                this.foto.add(foto);
        }
}
       

che alla pressione del tasto bottonecamera  va nell'activity Foto.java


Codice (Java): [Seleziona]
import java.io.Serializable;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.hardware.Camera;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.provider.MediaStore.Video.Media;
import android.provider.MediaStore.*;
import android.util.Log;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.MultiAutoCompleteTextView;
import android.widget.TextView;


public class Foto extends Activity implements Serializable {
       
        private static final int IMAGE_CAPTURE=10;
        private static final int IMAGE_FROM_GALLEY = 20;
       
        private String nome;
        private Bitmap foto;
       
       
        public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       
        Intent intent=getIntent();
        String pkg=getPackageName();
        int i=intent.getIntExtra(pkg+".myInt", -1);
        if(i==1)
                {
                scattaFoto();
             
               
                finish();
                }
        else if(i==2)
                {
                        sfoglia();//da fare lo sfoglia
                }
               
       
       
       
        }
       
        public Foto(){}
       
       
        public void scattaFoto(){

                Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(i, IMAGE_CAPTURE);
       
               
               
               
        }
       
        public void sfoglia(){
                Intent i = new Intent( Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI );
               
                startActivityForResult( i, IMAGE_FROM_GALLEY );
        }
       
       

       

        public void onActivityResult( int requestCode, int resultCode, Intent data ) {
               
        if (  requestCode == IMAGE_CAPTURE ) {

             

                Uri selectedImage = data.getData();
               
           
                Bitmap b = ( Bitmap ) data.getExtras().get( "data" );
                Foto f=new Foto();
                f.setFoto(b);
 
               
                ImageView img1=(ImageView)findViewById(R.id.imageview1);
               
                img1.setImageBitmap(b);
               
               
           
             
               
        }
     
       
        super.onActivityResult( requestCode, resultCode, data );
}
       
       
       
        public String getNome() {
                return nome;
        }

        public void setNome(String nome) {
                this.nome = nome;
        }

        public Bitmap getFoto() {
                return foto;
        }

        public void setFoto(Bitmap foto) {
                this.foto = foto;
        }
       
       
}

e qui startactivityforresult richiama l'app della fotocamera nativa e quindi come faccio a fare setResult() e quindi non ottengo il risultato, come potrei fare?? grazie dell'attenzione!

Offline teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 387
  • Respect: +118
    • Github
    • Google+
    • Mostra profilo
    • Skullab
  • Dispositivo Android:
    Cubot GT99 / SurfTab Ventos 10.1
  • Play Store ID:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 12.04
Re:in questo caso non si può usare il set result!
« Risposta #1 il: 15 Gennaio 2012, 20:55:40 CET »
0
Ti ho risposto nell'altro topic. Non aprire mille topic con lo stesso argomento...please :-)

passo e chiudo !