質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

1回答

3049閲覧

Android ListViewで音楽データ表示

uikura

総合スコア37

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2015/08/29 06:32

Android、java初心者です。皆様のお力をお貸しください
端末内(SDカードでなく)の音楽データを ラジオボタン付ListViewで表示して選択すると音楽がなるような
アプリを作成しています。
ListViewに表示はできたのですが、選択した項目を再生する方法がわかりません。
IDを取得する必要があるとのことですが選択した項目のIDを取得するにはどうしたらよいのでしょうか?

回答よろしくお願いします。

以下がソースコードとなっています

package

1 2import android.app.Activity; 3import android.content.ContentResolver; 4import android.database.Cursor; 5import android.media.MediaPlayer; 6import android.net.Uri; 7import android.os.Bundle; 8import android.provider.MediaStore; 9import android.util.Log; 10import android.util.SparseBooleanArray; 11import android.view.Menu; 12import android.view.MenuItem; 13import android.view.View; 14import android.widget.AdapterView; 15import android.widget.ArrayAdapter; 16import android.widget.ListView; 17import android.widget.Toast; 18 19import java.io.IOException; 20import java.util.List; 21 22 23public class MusicActivity extends Activity implements AdapterView.OnItemClickListener{ 24 25 private ListView listView; 26 private Cursor cursor; 27 private ArrayAdapter adapter; 28 private MediaPlayer mediaPlayer; 29 30 @Override 31 protected void onCreate(Bundle savedInstanceState) { 32 super.onCreate(savedInstanceState); 33 setContentView(R.layout.activity_music2); 34 35 listView = (ListView) findViewById(R.id.listView); 36 listView.setOnItemClickListener(this); 37 listView.setScrollbarFadingEnabled(false); 38 listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 39 40 41 adapter = new ArrayAdapter<String>( 42 this, 43 android.R.layout.simple_list_item_single_choice 44 45 ); 46 47 cursor = getContentResolver().query( 48 MediaStore.Audio.Media.INTERNAL_CONTENT_URI, 49 50 new String[]{ 51 MediaStore.Audio.Media.ALBUM , 52 MediaStore.Audio.Media.ARTIST , 53 MediaStore.Audio.Media.TITLE, 54 MediaStore.Audio.Media._ID 55 }, 56 null, 57 null, 58 null 59 ); 60 61 if (cursor.moveToFirst()) { 62 63 64 do{ 65 adapter.add(cursor.getString(2) + cursor.getInt(3)); 66 67 }while(cursor.moveToNext()); 68 69 70 } 71 /*SparseBooleanArray checked = listView.getCheckedItemPositions(); 72 for(int i = 0; i<checked.size();i++){ 73 if(checked.valueAt(i)){ 74 75 } 76 }*/ 77 78 listView.setAdapter(adapter); 79 80 cursor.close(); 81 } 82 83 84 @Override 85 public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 86 87 88 } 89} 90 91コード

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ここでも書きましたが。

Java

1cursor = getContentResolver().query( 2MediaStore.Audio.Media.INTERNAL_CONTENT_URI, 3new String[]{ 4MediaStore.Audio.Media.ALBUM , 5MediaStore.Audio.Media.ARTIST , 6MediaStore.Audio.Media.TITLE, 7MediaStore.Audio.Media._ID},null,null,null);

上の中で、MediaStore.Audio.Media._IDが探している_IDです。

Java

1cursor.getString(cursor.getColumnIndex( MediaStore.Audio.Media._ID

上のコードを使って取り出しましょう。

投稿2015/08/29 09:39

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

uikura

2015/08/30 11:45

回答ありがとうございます。LIstViewで選択した音楽のIDを取得するには public void onItemClickに処理を書けばよいのでしょうか?
yona

2015/08/30 15:12

問題ありません。
uikura

2015/08/30 15:35

回答ありがとうございます。単純な質問ばかりで申し訳ありません。 public void onItemClick 内に記述していきたいのですが「選択した項目のID」を取得しなければ再生ができないと思うのですが引数のpositionをつかうのでしょうか?
yona

2015/08/30 16:09

その通りですよ。 再度調べたり、実際にやってみたりして、詰まってから再度質問を投稿したほうが回答が集まりますよ。
uikura

2015/08/31 00:15

色々ありがとうございます。勉強になりました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問