私は.mp3ファイルを再生することができる1つのアプリケーションを開発しています。このアプリケーションでは、リストビューにrawフォルダから.mp3ファイルを読み込むためのカスタムリストビューアを作成し、 .mp3ファイル。だから、私はすべての生のフォルダの.mp3ファイルを各行のリストビューに追加したいと思います。その時点でユーザーがその特定のリストビュー項目をクリックすると、その曲が再生されます。すべての.mp3ファイルをrawフォルダからカスタム配列listviewに取得してその曲を再生するにはどうすればいいですか?
注:私はSDCARDからその.mp3ファイルをインポートしていません。ここでは、この私のアダプタ
public class RingtoneAdapter extends ArrayAdapter<RingtoneModel> {
private List<RingtoneModel> planetList;
private Context context;
public RingtoneAdapter(List<RingtoneModel> planetList, Context ctx) {
super(ctx, R.layout.ringtone_row_layout, planetList);
this.planetList = planetList;
this.context = ctx;
}
public int getCount() {
return planetList.size();
}
public RingtoneModel getItem(int position) {
return planetList.get(position);
}
public long getItemId(int position) {
return planetList.get(position).hashCode();
}
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
PlanetHolder holder = new PlanetHolder();
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.ringtone_row_layout, null);
TextView tv = (TextView) v.findViewById(R.id.name);
holder.planetNameView = tv;
v.setTag(holder);
}
else
holder = (PlanetHolder) v.getTag();
RingtoneModel p = planetList.get(position);
holder.planetNameView.setText(p.getName());
return v;
}
private static class PlanetHolder {
public TextView planetNameView;
}
}
この私のモデルクラス
public class RingtoneModel {
private String name;
private Integer distance;
private String descr;
private int idImg;
public RingtoneModel(String name) {
this.name = name;
}
public RingtoneModel(String name, String descr) {
this.name = name;
this.descr = descr;
}
public RingtoneModel(String name, Integer distance, String descr, int idImg) {
this.name = name;
this.descr = descr;
this.idImg = idImg;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getDistance() {
return distance;
}
public void setDistance(Integer distance) {
this.distance = distance;
}
public int getIdImg() {
return idImg;
}
public void setIdImg(int idImg) {
this.idImg = idImg;
}
}
そして、これは私のMainActivityある
public class MainActivity extends AppCompatActivity {
List<RingtoneModel> ringtoneList = new ArrayList<RingtoneModel>();
RingtoneAdapter ringAdapter;
ListView ringtoneListMain;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initRingtoneList();
ringtoneListMain = (ListView)findViewById(R.id.rintoneList);
ringAdapter = new RingtoneAdapter(ringtoneList,this);
ringtoneListMain.setAdapter(ringAdapter);
ringtoneListMain.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
}
});
}
private void initRingtoneList() {
ringtoneList.add(new RingtoneModel("xyz"));
ringtoneList.add(new RingtoneModel("Venus"));
ringtoneList.add(new RingtoneModel("Mars"));
ringtoneList.add(new RingtoneModel("Jupiter"));
ringtoneList.add(new RingtoneModel("Saturn"));
ringtoneList.add(new RingtoneModel("Uranus"));
ringtoneList.add(new RingtoneModel("Neptune"));
}
}
だから誰も私がこのすべてを行うことができる方法を知っている場合私を助けてください...