2017-05-27 11 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搜索ListView,但播放錯誤的聲音

回答

0

您可能會錯位。

替換下面這個: mp1 = MediaPlayer.create(getActivity(),soundId [lv1.getPositionForView(view1)]); mp1 = MediaPlayer.create(getActivity(),soundId [arg2]);

讓我知道任何疑問!

+0

抱歉,但不起作用 –