音声を録音してスマートフォンのどこかに保存するアプリを作成しています。このタブ レイアウトには、タブ レイアウトと 2 つのアクティビティがあります。最初のアクティビティは録音アクティビティで、2 つ目はライブラリ アクティビティで、録音されたすべてのサウンドが保存されます。これが私がやろうとしていることです。
現時点でのアプリの動作: 記録が完了すると、編集テキストを含むダイアログがポップアップし、記録されたファイルの名前を変更するようユーザーに求めます。ユーザーが特定の名前を入力すると、それが ArrayList に追加されます。私は即座に putExtra() を呼び出しました。
fileNames = new ArrayList();
fileNames.add(newFileName);
intent.putExtra("fileNames", fileNames);
ここで停止します。アクティビティ間でエキストラを渡すことに問題はありませんでした。しかし、私は以前にタブレイアウトでそれをやったことがありません. 私の質問は、同じタブ レイアウトにある 2 つのアクティビティ間で余分なものを渡すにはどうすればよいですか? これを行うのは、ライブラリ アクティビティで arraylist を読み取り、記録されたすべてのファイルのリストビューを作成できるようにするためです。
編集:これは今のコードです:
最初のアクティビティ:
fileNames = new ArrayList();
fileNames.add(newFileName);
getParent().getIntent().putExtra("libraryFileNames", fileNames);
2 番目のアクティビティ:
ArrayList fileNames; //creating a global variable for arraylist (outisde of the oncreate
fileNames = getParent().getIntent().getStringArrayListExtra("libraryFileNames");
これはそれにアプローチする正しい方法ですか?私が気づいた 1 つの欠点は、文字列配列リストではなく通常の ArrayList を持っているのに、余分なものを「文字列配列」として取っていることです。また、これが機能するかどうかをどのようにテストできますか?