이 문제에 대한 도움을 주시면 감사하겠습니다. 한 활동에서 동적으로 생성 된 EditTexts에 사용자가 입력 할 데이터를 가져 와서 다른 활동의 TextViews에 데이터를 저장하려고합니다. 사실이 웹 사이트의 다른 곳에서 비슷한 질문을 찾았지만 문제를 직접 해결할 수 없기 때문에 코드에서 누군가에게 뛰어 드는 것이 있다고 생각했습니다. 여러 가지 방법으로이 작업을 수행하려고 노력 했으므로 코드가 불편할 수 있습니다. 좌절감을 느껴서 코드를 작동 시키려고 점점 더 구현하려고 시도했기 때문입니다.다른 활동에서 동적으로 생성 된 편집 텍스트에서 데이터 가져 오기
활동 A (사용자가 입력 한 숫자를 기반으로 많은 수의 EditText가 생성되고 사용자가 EditTexts에 입력 한 내용을 배열 ???에서 가져 와서 활동 B로 이동해야합니다.
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);
}
}
}
활동 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);
}}
, 버튼 클릭에를 내가 디버깅 할 때 그 배열을 보여줍니다 null로. 데이터가 Activity A의 배열에 들어 가지 않을 수도 있습니다. – Dragon