これは私の最初の質問ですので、簡単に私に行ってください:) 私はアンドロイドに新しいです、そして、私は単純なリストを作ろうとしています。最初のアクティビティでは、ユーザーはデータを入力できます。データは2番目のアクティビティのリストとして表示されます。ArrayListを別のアクティビティに渡しますが、結果は表示されませんか?
インテントを使用して1つのアクティビティから別のアクティビティにデータを渡していますが、何も表示されないため、私のClassBアクティビティに重要なものが欠けています。
public class ClassA extends AppCompatActivity {
EditText note;
Button saveNoteB, goToNotesB;
public final static String EXTRA_NOTE = "com.lisa.currys.userlistarray.note";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
saveNoteB = (Button) findViewById(R.id.saveNote);
saveNoteB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(ClassA.this, ClassB.class);
note = (EditText) findViewById(R.id.note);
String userInput = note.getText().toString();
ArrayList<String> arr = new ArrayList<String>();
arr.add(userInput);
i.putStringArrayListExtra("note", arr);
startActivity(i);
}
});
と私の第二の活動のために:ここで
は私のメインのコードです
public class ClassB extends AppCompatActivity {
public static android.widget.ListView displayNotes;
ArrayList<String> arr = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
arr = getIntent().getExtras().getStringArrayList(ClassA.EXTRA_NOTE);
displayNotes = (ListView)findViewById(R.id.listView);
Intent i = getIntent();
arr = i.getStringArrayListExtra("note");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(ClassB.this, android.R.layout.simple_list_item_1);
displayNotes.setAdapter(adapter);
}
}
任意のポインタまたはアドバイスは最も歓迎されるであろう。
ありがとうございます。
うん、これは完全に動作します。私はarrを逃してしまったことに気付かなかった。おそらくそれをあまりにも長く見ています。 George Mulliganありがとうございました:) – Woowoo