これが私のアプリの仕組みです。ユーザーがサウンドを録音し、特定の名前を付けます。この例では、2 つのサウンド ファイルを録音します。Test1.mp3 と Test2.mp3。最初の記録が終了すると、ダイアログが表示され、「Test1」と入力します。2 回目の記録も同様です。Test1.mp3 と Test2.mp3 がリストビューに追加されました。これはコードです:
//filename is a variable for the name of the file, these lines execute everytime I record a new file
ArrayList<String> fileNames = new ArrayList<String>();
fileNames.add(filename.toString());
listView = (ListView) findViewById (R.id.mainListView);
listAdapter = new ArrayAdapter<String>(this, R.layout.simplerow, fileNames);
listView.setAdapter(listAdapter);
したがって、両方のファイルを記録してリストビューに追加した後、onClickListeners を両方のリストビュー要素に設定したいと考えています。しかし、どうすればいいですか?新しい記録ファイルがリストビューに追加されるたびに、onclick メソッドも自動的に生成されるようにするにはどうすればよいですか。これはそれほど複雑ではありませんが、もちろん、記録されたすべてのファイルには異なるパスがあります。
今のコード:
//LISTVIEW
fileNames.add(filename.toString()); //adding each filename to ArrayList<String>
listView = (ListView) findViewById (R.id.mainListView);
listAdapter = new ArrayAdapter<String>(this, R.layout.simplerow, fileNames);
listView.setAdapter(listAdapter);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Toast toast = Toast.makeText(getApplicationContext(), filename, Toast.LENGTH_SHORT);
toast.show();
}
});
これは、新しいファイルが記録されるたびに実行されるコードです