2016-06-22 6 views
0

Ich mag eine Kontaktliste App machen, in dem sie Bild und Vornamen in der Liste zeigenApp stürzt nach Haupttätigkeit 2 b2 App Kontaktliste geklickt

Mein Programm ist ohne Fehler außer Wenn meine Tätigkeit in Ordnung von der zweiten Änderungen an einem stürzt Alle Layout ist in Ordnung ich habe benutzerdefinierte Liste

MainActivity1.java

erstellt
public class MainActivity1 extends AppCompatActivity { 
    ListView lv; 
    Button b; 
    List<details> alist = new ArrayList<details>(); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main1); 
     lv = (ListView) findViewById(R.id.listView); 
     b = (Button) findViewById(R.id.button); 
     b.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent i = new Intent(getApplicationContext(), MainActivity2.class); 
       startActivity(i); 
       finish(); 
      } 
     }); 
     Intent back2 = getIntent(); 
     String s1, s2, s3, s4; 
     s1 = back2.getStringExtra("x1"); 
     s2 = back2.getStringExtra("x2"); 
     s3 = back2.getStringExtra("x3"); 
     s4 = back2.getStringExtra("x4"); 
     alist.add(new details(BitmapFactory.decodeResource(getResources(), R.drawable.un), s1, s2, s3, s4)); 
     contactnames arrayAdapter = new contactnames(this, alist); 
     lv.setAdapter(arrayAdapter); 
    } 
} 

MainActivity2.java

public class MainActivity2 extends AppCompatActivity { 
    EditText et1, et2, et3, et4; 
    Button b1, b2; 
    static String s, t, u, j; 
    List<details> detailsList = new ArrayList<details>(); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main2); 
     Intent i = getIntent(); 
     et1 = (EditText) findViewById(R.id.editText1); 
     et2 = (EditText) findViewById(R.id.editText2); 
     et3 = (EditText) findViewById(R.id.editText3); 
     et4 = (EditText) findViewById(R.id.editText4); 
     b1 = (Button) findViewById(R.id.button1); 
     b2 = (Button) findViewById(R.id.button2); 
     b1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent back = new Intent(getApplicationContext(), MainActivity1.class); 
       startActivity(back); 
      } 
     }); 
     b2.setOnClickListener(new View.OnClickListener() { 
            @Override 
            public void onClick(View v) { 
             if ((et1.getText().toString().matches("")) || (et2.getText().toString().matches("")) || (et3.getText().toString().matches("")) || (et4.getText().toString().matches(""))) { 
              Toast.makeText(getApplicationContext(), "No field can be empty", Toast.LENGTH_SHORT).show(); 
             } else { 
              s = et1.getText().toString(); 
              t = et2.getText().toString(); 
              u = et3.getText().toString(); 
              j = et4.getText().toString(); 
              Intent back2 = new Intent(getApplicationContext(), MainActivity1.class); 
              back2.putExtra("x1", s); 
              back2.putExtra("x2", t); 
              back2.putExtra("x3", u); 
              back2.putExtra("x4", j); 
              startActivity(back2); 
             } 
            } 
           } 
     ); 
    } 
} 
+2

hinzugefügt 'MainActivity2.class' zu manifestieren? Wenn ja, poste bitte den Fehler stacktrace – Opiatefuchs

Antwort

0

Bitte geben Sie die Stacktrace des Absturzes.

Anstatt Ihre Absichten zu benennen, Aktivitäten "backXYZ" zu starten, könnten Sie auch das Konzept von startActivityForResult betrachten, um eine Aktivität zu öffnen, den Benutzer damit interagieren zu lassen und Ergebnisse daraus zu erhalten.