0

やあ、

私はこれらの手順を実行しようとしています:
1) ListView でアイテム (song_title) を選択

ます
。アクティビティを開始するための追加の意図(ファイルのダウンロード)

ステップ 3 と 4 の実装方法がわかりません。

ItemClickListener を使用したコードの一部を次に示します。

ls.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Log.d(null, ". Position: " + position );
        showDialog(position);
    }
    });

そして、ダイアログを作成する部分

protected Dialog onCreateDialog(int id){

AlertDialog.Builder adb = new AlertDialog.Builder(MainActivity.this);
final String[] service = {"Play music", "Download"};
adb.setTitle("Choose service");
    switch(id){
    case 0:
            Log.d(null, service[id] + ". Position: " );
            adb.setItems(service, myClickListener);
            break;
    case 1:
            Log.d(null, service[id] + ". Position: " );
            adb.setItems(service, myClickListener);

    break;
}

return adb.create();
}

アイテム(曲)が2つでうまくいきますが、アイテムが2つ以上ある場合のコードを変更したいです。

4

1 に答える 1

0

私の質問に答える)

これが私にとってうまくいくコードです:

ls.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                final int selectedPosition = position;
                final String[] service = {"Play music", "Download"};
                AlertDialog.Builder adb = new AlertDialog.Builder(MainActivity.this);
                adb.setTitle("Choose service");
                adb.setItems(service, new OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        switch(which){
                        case 0:
                            Intent playIntent = new Intent(getApplicationContext(), PlayMusicActivity.class);
                            playIntent.putExtra("songIndex", selectedPosition);
                            Log.d(null, which + ". Position: " + selectedPosition );
                            break;
                        case 1:
                            Intent downloadIntent = new Intent(getApplicationContext(), DownloadActivity.class);
                            downloadIntent.putExtra("songIndex", selectedPosition);
                            Log.d(null, which + ". Position: " + selectedPosition );
                            break;
                        }

                    }
                });
                adb.show();
            }
            });

于 2013-09-24T20:18:01.827 に答える