Autore Topic: app che nn funziona il tasto Back  (Letto 452 volte)

Offline Jekan

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Umi Super
  • Sistema operativo:
    Windows 7
app che nn funziona il tasto Back
« il: 10 Aprile 2016, 12:40:53 CEST »
0
Ciao ragazzi ecco il mio problema il tasto Back funziona bn nelle prime due activity ma nella terza che passo da una listview a una activity quando torno dall'activity alla listview l'app si blocca
questa e la listview:
Codice (Java): [Seleziona]
package jekan.myapplication;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import jekan.myapplication.R;

public class simpleweapons extends AppCompatActivity {

    String[] listaarmisemplici = new String[]{"Aspergillum, Heavy", "Battle Gauntlet", "Club", "Dagger", "Dagger, punching", "Fauchard", "Gauntlet", "Gauntlet, spiked",
            "Halfspear", "Longspear", "Mace, heavy", "Mace, light", "Morningstar", "Muspelrule", "Quarterstaff", "Shortspear", "Sickle", "Sickle, Heavy", "Spear", "Strike, unarmed"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_simpleweapons);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, listaarmisemplici);
        ListView lista_armisemplici = (ListView) findViewById(R.id.listView);
        lista_armisemplici.setAdapter(adapter);
        lista_armisemplici.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                if (position ==0) {
                    Intent myintent = new Intent(view.getContext(),dettagli_armi.class);
                    startActivityForResult(myintent, 0);
                    Intent Aspergillum=new Intent(getApplicationContext(),dettagli_armi.class);
                    Aspergillum.putExtra("costo","100 gp");
                    Aspergillum.putExtra("dannis","-");
                    Aspergillum.putExtra("dannim","1D8");
                    Aspergillum.putExtra("crit","X2");
                    Aspergillum.putExtra("rangeinc","-");
                    Aspergillum.putExtra("weight","12 lb.");
                    Aspergillum.putExtra("type","Bludgeoning");
                    startActivity(Aspergillum);



                }
            }
        });
    }

}
questa e l'activity che fa a dettaglio alla listview
Codice (Java): [Seleziona]
package jekan.myapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class dettagli_armi extends AppCompatActivity {

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

        Bundle extras=getIntent().getExtras();
        TextView costo=(TextView)findViewById(R.id.costo);
        costo.setText(extras.getString("costo"));
        TextView dannis=(TextView)findViewById(R.id.dannis);
        dannis.setText(extras.getString("dannis"));
        TextView dannim=(TextView)findViewById(R.id.dannim);
        dannim.setText(extras.getString("dannim"));
        TextView crit=(TextView)findViewById(R.id.crit);
        crit.setText(extras.getString("crit"));
        TextView rangeinc=(TextView)findViewById(R.id.rangeinc);
        rangeinc.setText(extras.getString("rangeinc"));
        TextView weight=(TextView)findViewById(R.id.weight);
        weight.setText(extras.getString("weight"));
        TextView type=(TextView)findViewById(R.id.type);
        type.setText(extras.getString("type"));





    }
}

Offline PazIta

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Moto g falcon (1st gen)
  • Sistema operativo:
    Elementary
Re:app che nn funziona il tasto Back
« Risposta #1 il: 10 Aprile 2016, 16:41:33 CEST »
0
Nella listview usi startActivityForResult,questo metodo da per scontato che l'activity aperta,una volta chiusa restituisca,per l'appunto un risultato ma in entrambe manca qualcosa.
Nella listview un metodo che riceva i  dati provenienti come risultato dall altra activity(ho preso il metodo dalla guida ufficiale):
Codice (Java): [Seleziona]
 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // Check which request we're responding to
    if (requestCode == PICK_CONTACT_REQUEST) {
        // Make sure the request was successful
        if (resultCode == RESULT_OK) {
            // The user picked a contact.
            // The Intent's data Uri identifies which contact was selected.

            // Do something with the contact here (bigger example below)
        }
    }
}
E nella seconda activity mancano delle funzioni che restituiscano i dati(questo pezzo di codice invece da stackoverflow):
Codice (Java): [Seleziona]
Intent returnIntent = new Intent();
returnIntent.putExtra("result",result);
setResult(Activity.RESULT_OK,returnIntent);
finish();
Ora,guardando il tuo codice penso che non hai bisogno che la seconda activity restituisca un risultato,quindi invece di usare startActivityForResult() usa semplicemente startActivity()

Offline Jekan

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Umi Super
  • Sistema operativo:
    Windows 7
Re:app che nn funziona il tasto Back
« Risposta #2 il: 10 Aprile 2016, 20:01:27 CEST »
0
ti ringrazio x l'aiuto domani apporto queste modifiche :D :-) :-)
Grazie ancora

Offline PazIta

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Moto g falcon (1st gen)
  • Sistema operativo:
    Elementary
Re:app che nn funziona il tasto Back
« Risposta #3 il: 10 Aprile 2016, 20:02:20 CEST »
0
Figurati ;-)