Jede Hilfe mit diesem wird sehr geschätzt. Ich versuche, Daten, die vom Benutzer eingegeben werden, in dynamisch generierte EditTexte in einer Aktivität aufzunehmen und die Daten in einer anderen Aktivität in TextViews einzufügen. Es stimmt zwar, dass ich an anderer Stelle ähnliche Fragen auf dieser Website fand, aber ich konnte das Problem nicht selbst lösen, also dachte ich mir, dass etwas in meinem Code jemanden hervorspringen lässt. Denken Sie daran, dass ich versucht habe, dies auf verschiedene Arten zu erreichen, so dass der Code hässlich sein könnte, weil ich frustriert war und immer wieder versuchte, mehr und mehr zu implementieren, damit es funktioniert.Erhalten Sie Daten von dynamisch erstellten EditTexts in einer anderen Aktivität
Aktivität A (eine Anzahl von EditTexts wird basierend auf einer Zahl erstellt, die der Benutzer eingibt, und ich muss nehmen, was der Benutzer in den EditTexts eingibt, vielleicht in einem Array ???? und in Aktivität B verschieben.
final Button submitButton = new Button(this);
submitButton.setText("Submit");
submitButton.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Intent intent = new Intent(ChoiceMaker.this, Randomizer.class);
startActivity(intent);
setContentView(R.layout.randomizer);
}
});
btnCreate.setOnClickListener(new View.OnClickListener() {
public List<EditText> strings;
@Override
public void onClick(View v) {
List<EditText> allEds = null;
if (edtNoCreate.getText().toString().length() > 0) {
try {
lnrDynamicEditTextHolder.removeAllViews();
} catch (Throwable e) {
e.printStackTrace();
}
int length = Integer.parseInt(edtNoCreate.getText().toString());
EditText editText;
allEds = new ArrayList<EditText>();
for (int i = 0; i < length; i++) {
editText = new EditText(ChoiceMaker.this);
allEds.add(editText);
editText.setId(i + 1);
editText.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
editText.setHint("Possible choice " + (i + 1));
editText.setTextColor(Color.parseColor("#c0b1ff"));
editText.setTextSize(38);
lnrDynamicEditTextHolder.addView(editText);
}
LinearLayout layout = (LinearLayout) findViewById(R.id.choiceMakerLayout);
layout.addView(submitButton);
submitButton.setBackgroundColor(Color.BLUE);
String[] strings = new String[allEds.size()];
for(int i=0; i < allEds.size(); i++){
strings[i] = allEds.get(i).getText().toString();
}
Intent intent = new Intent(ChoiceMaker.this, Randomizer.class);
intent.putExtra("strings", strings);
}
}
}
Aktivität B
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.randomizer);
Intent intent = getIntent();
String[] stringArray = intent.getStringArrayExtra("strings");
int textViewCount = 10;
TextView[] textViewArray = new TextView[textViewCount];
for (int i = 0; i < textViewCount; i++) {
textViewArray[i] = new TextView(this);
textViewArray[i].setText(stringArray);
}}
Wenn es keine Hilfe, das ich den Fehler eines Null-Zeiger gegeben habe und wenn ich es debuggen zeigt das Array als null. Ich glaube, dass die Daten in Aktivität A niemals in das Array gelangen. – Dragon