2017-06-22 170 views
-2

に呼び出すことができない私は、このようgetSystemServiceは、Android Studioの

package com.example.android.miwok; 
import android.app.Activity; 
import android.content.Context; 
import android.media.AudioManager; 
import android.media.Image; 
import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.provider.MediaStore; 
import android.support.annotation.NonNull; 
import android.support.v4.content.ContextCompat; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ArrayAdapter; 
import android.widget.ImageView; 
import android.widget.TextView; 
import android.widget.Toast; 

import java.util.ArrayList; 

import static android.media.AudioManager.AUDIOFOCUS_GAIN; 
import static android.media.AudioManager.AUDIOFOCUS_LOSS; 
import static android.media.AudioManager.AUDIOFOCUS_LOSS_TRANSIENT; 
import static android.media.AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK; 
import static android.view.View.GONE; 


public class WordAdapter extends ArrayAdapter<Word> { 
private static final String LOG_TAG = WordAdapter.class.getSimpleName(); 
private int mColorResourceId; 
private MediaPlayer mMediaPlayer; 
private final static int MAX_VOLUME = 100; 

public WordAdapter(Activity context, ArrayList<Word> words, int 
colorResourceId) { 

    super(context, 0, words); 
    mColorResourceId = colorResourceId; 
} 
AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
. 
. 
. 
} 

AudioManagerクラスのgetSystemServiceを呼び出すためにシステムを望んでいた、それはメソッド「getSystemService」を解決することはできませんと述べました。私の理解に基づいて、その方法を見つけることはできません。私はこれを追加しようとしました。メソッドの前に、私はまだメソッドを見つけることができません。 WordAdapterクラスをprivateまたはprotectedに変更しようとしましたが、許可されていませんでした。 ヘルプや説明があれば幸いです。

+1

をと 'コンテキストを呼び出します。

private Context mContext; public WordAdapter(Context context, ArrayList<Word> words, int colorResourceId) { super(context, 0, words); mColorResourceId = colorResourceId; this.mContext = context; } 

その後、mContextからシステムサービスを呼び出すことができます.getSystemService() ' – Opiatefuchs

+0

@Opiatefuchs私はむしろアンドロイドプログラミングとJavaの新しいです、あなたは"コンテキストのインスタンス変数 "は何かを明確にすることができますか? –

+0

答えとして例を挙げました。 – Opiatefuchs

答えて

0

Contextのインスタンス変数を作成し、あなたのコンストラクタでこれを初期化:コンテキストのインスタンス変数を作る

AudioManager mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);