2016-08-03 14 views
1

Ich möchte zwei EditText-Daten an die nächste Aktivität senden und sie auch mit einem Klick wiederherstellen. aber wenn ich Daten über Absicht sende, stürzt meine Aktivität ab. Ich bin an seit gestern stecken ...Android Intent funktioniert nicht (Daten werden an die Aktivität gesendet und empfangen)

InvoiceActivity.java

public class InvoiceActivity extends AppCompatActivity { 


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

    //Getting values from calendar activity 

    Bundle bundleCal = getIntent().getExtras(); 

    data123 = bundleCal.getString("stuff1");//date 
    EditText et123 = (EditText) findViewById(R.id.editText4); 
    et123.setText(data123); 

    String a = bundleCal.getString("stuff11");//contact no 
    EditText et1 = (EditText) findViewById(R.id.editText1); 
    et1.setText(a); 
    et1.setEnabled(false); 

    String b = bundleCal.getString("stuff22");//name 
    EditText et2 = (EditText) findViewById(R.id.editText2); 
    et2.setText(b); 
    et2.setEnabled(false); 

    //Getting values from Fourth activity(the activity from where contact no. and name are previously coming) 

    //Get the bundle 
    Bundle bundle = getIntent().getExtras(); 

    //Extract the data… 
    String data11 = bundle.getString("stuff11");//contact no 
    EditText et11 = (EditText) findViewById(R.id.editText1); 
    et11.setText(data11); 
    et11.setEnabled(false); 

    String data22 = bundle.getString("stuff22");//name 
    EditText et22 = (EditText) findViewById(R.id.editText2); 
    et22.setText(data22); 
    et22.setEnabled(false); 

    EditText oid = (EditText) findViewById(R.id.editText3); 
    oid.setEnabled(false); 

    EditText rem1 = (EditText) findViewById(R.id.editText7);//Remaining 
    rem1.setEnabled(false); 

    int min = 1; 
    int max = 99; 

    Random r = new Random(); 
    int id = r.nextInt(max - min + 1) + min; 

    String ooid=id+""; 
    oid.setText(ooid); 

    EditText dd11 = (EditText) findViewById(R.id.editText4);//date 
    dd11.setText(data123); 
    Toast.makeText(InvoiceActivity.this,"Date set to: " + data123, Toast.LENGTH_LONG).show(); 

} 

CalendarActivity.java:

public class CalendarActivity extends AppCompatActivity { 

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

    //Get the bundle 
    Bundle bundle222 = getIntent().getExtras(); 

    //Extract the data… 
    String data1 = bundle222.getString("stuff11"); 
    EditText et1 = (EditText) findViewById(R.id.editText111); 
    et1.setText(data1); 
    //et1.setEnabled(false); 

    String data2 = bundle222.getString("stuff22"); 
    EditText et2 = (EditText) findViewById(R.id.editText222); 
    et2.setText(data2); 
    //et2.setEnabled(false); 
} 
+0

Bitte teilen Crashlog Spur und Aktien Aktivität, in dem Sie Werte Intent –

+0

^diese hinzufügen und haben Sie den Problembereich mit Haltepunkten verengen? – Shaishav

+0

Zeigen Sie uns, wie Sie die Daten über Intent übergeben. Es ist schwierig, das Problem auf diese Weise zu finden. Fügen Sie auch Ihren Stacktrace hinzu – Jas

Antwort

1

Vielleicht mit einem Beispiel, das mehr klar sein wird.

Intent intent = new Intent(context, YourActivity.class); 
intent.putExtra("Name of extra", yourObject); // Your object can be a String, int, Bundle, Parcelable, etc... 

In YourActivity

@Override 
public void onCreate(Bundle savedInstanceState) { 
    Bundle bundle = getIntent().getBundleExtra("Name of extra"); // If that was a bundle 
    YourType type = (YourType)getIntent().getSerializableExtra("Name of extra"); // If that was a serializable object 
    // Etc... 
}