- Forum-Beiträge: 4
21.05.2013, 13:22:19 via Website
21.05.2013 13:22:19 via Website
ich hatte vor bei meiner App eine zweite Activity einzubauen. Das klappt auch, aber ich will in der zweiten Activity eine Liste mit Namen aus der ersten Activity einfügen. Um genauer zu sein, soll jeder Name eine neu Spalte in einer Tabelle bekommen. (Soll auf Android 2.2 Funktionieren!)
1. Activity:
2
3public final static String stNewNames = "com.patrickwagner.fivedicewritedown.TableActivity";
4public final static String nPlayers = "com.patrickwagner.fivedicewritedown.TableActivity";
5
6private String[] sNewNames;
7private int numberPlayers;
8
9 @Override
10 protected void onCreate(Bundle savedInstanceState) {
11 super.onCreate(savedInstanceState);
12
13 sNewNames = new String[20];
14 numberPlayers = 0;
15
16 setContentView(R.layout.activity_main);
17 }
18
19 @Override
20 public boolean onCreateOptionsMenu(Menu menu) {
21 // Inflate the menu; this adds items to the action bar if it is present.
22 getMenuInflater().inflate(R.menu.main, menu);
23 return true;
24 }
25
26 /*
27 * der Button bNewName funktioniert
28 */
29 public void bNewName(View view){
30 EditText tNewName = (EditText) findViewById(R.id.tNewName);
31 if(tNewName != null){
32 String stNewName = ((EditText)findViewById(R.id.tNewName)).getText().toString();
33 ((EditText)findViewById(R.id.tNewName)).setText("");
34 TextView tvName = new TextView(this);
35 tvName.setText(stNewName);
36 ((LinearLayout)findViewById(R.id.listOfNames)).addView(tvName);
37 sNewNames[numberPlayers] = stNewName;
38 numberPlayers++;
39 }
40 }
41
42 /*
43 * der Button bStartActivity funktioniert nicht (es erscheint beim drücken des Buttons ein Fenster, dass die App beendet werden musste)
44 */
45 public void bStartActivity(View view){
46 Intent intent = new Intent(this, TableActivity.class);
47 intent.putExtra(stNewNames, sNewNames);
48 intent.putExtra(nPlayers, numberPlayers);
49 startActivity(intent);
50
51 }
52
53
54}
2. Activity:
[code]
public class TableActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
String[] stNewNames = intent.getStringArrayExtra(MainActivity.stNewNames);
int nPlayers = intent.getIntExtra(MainActivity.nPlayers, 0);
for(int i = 0; i < nPlayers; i++){ // ohne die for-Schleife funktioniert der Button bStartActivity und die 2. Activity wird auch geöffnent (ohne die for-Schleife werden keine Namen hinzugefügt
Button bPlayer = new Button(this);
bPlayer.setText(stNewNames[i]);
((TableRow)findViewById(R.id.tableRow1)).addView(bPlayer); //tableRow1 ist in der XML Datei der 2. Activity definiert
}
setContentView(R.layout.activity_table);
}
}
[/code]
Ich hoffe ihr könnt mir helfen.
— geändert am 21.05.2013, 13:53:43
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.