2017-05-27 7 views
1
public static ListView lv1; 


    public String[] soundnamen = {"text1","text2"}; 
    public int[] soundId = {R.raw.sound1,R.raw.sound2}; 

    public ArrayAdapter<String> listapdapter; 




    public Intent teilintent; 
    EditText inputSearch1; 
    View contentView; 


    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 

     contentView = inflater.inflate(R.layout.fragment_main, container, false); 

     return contentView; 


    } 

    @Override 
    public void onViewCreated(final View view, @Nullable Bundle savedInstanceState) { 



     inputSearch1 = (EditText) view.findViewById(R.id.inputSearch); 

     lv1 = (ListView) view.findViewById(R.id.listView1); 



     inputSearch1.addTextChangedListener(new TextWatcher() { 
      @Override 
      public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

      } 

      @Override 
      public void onTextChanged(CharSequence s, int start, int before, int count) { 

       fragment1.this.listapdapter.getFilter().filter(s.toString().toLowerCase()); 
      } 

      @Override 
      public void afterTextChanged(Editable s) { 

      } 
     }); 




     listapdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, soundnamen); 
     lv1.setAdapter(listapdapter); 
     lv1.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> arg0, View view1, int arg2, 
            long arg3) { 

       mp1.release(); 
       mp1 = MediaPlayer.create(getActivity(), soundId[lv1.getPositionForView(view1)]); 

       mp1.start(); 
      } 
         }); 
        } 
       }); 

EditTextでリストビューを検索すると、正しい項目だけが表示されますが、間違った音が再生されます。それを修正するには? BaseAdapterを使用する必要がありますか?私はインターネット全体を検索し、それについては何も見つかりませんでした。検索リストEditTextで再生するが間違った音を再生する

答えて

0

位置が間違っている可能性があります。

これを置き換えます。 mp1 = MediaPlayer.create(getActivity()、soundId [lv1.getPositionForView(view1)]); と mp1 = MediaPlayer.create(getActivity()、soundId [arg2]);

質問があれば教えてください。

+0

申し訳ありませんが動作しません –

関連する問題