2017-10-17 11 views
0

問題Sloverd、私は、任意のArrayAdapterまたはListAdapterを延長せずにlistfragmentandroid-ベースアダプタを使用してフラグメント内でListVIewを実装すると、何が間違っていますか?

(ちょうどフラグメントを拡張)

やカスタムアダプタをimplentingずにフラグメントでリストビューを実装しようとしていました。..

(BaseAdapterを拡張)

私の次のコードはエラーは表示されませんが、リストビューはフラグメントに表示されていません。私は2つのedittextを一緒に表示するカスタムアダプタを使用しています。デバッグ中に私はアダプタビューのリストを送信することができますが、任意のデータをバインドしていないlistview.setadapter()誰も私が間違って何を言ってくれますか?私はここで似たような解決策を見つけようとしましたが、運はありません。私は大いにフィードバックを感謝するか、このような同様の問題を指摘します。 フラグメント:

import android.app.Fragment; 
    import android.os.Bundle; 
    import android.view.LayoutInflater; 
    import android.view.View; 
    import android.view.ViewGroup; 
    import android.widget.ListView; 
    import android.widget.TextView;  
    import java.util.ArrayList; 


    public class ResultFragment extends Fragment { 
     private DBHelper dbHelper=null; 
     ArrayList<MedicineModel> medicineModelList=new ArrayList<MedicineModel>(); 
     String selectedData=""; 
     CustomAdapterBrandResult adapter; 
     ListView listView; 

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

      View view= inflater.inflate(R.layout.fragment_result, container, false); 

      listView= (ListView) view.findViewById(R.id.resultList); 
      TextView textView=(TextView)view.findViewById(R.id.selected_text); 

      Bundle bundle=getArguments(); 
      if(bundle!=null){ 
       textView.setText(bundle.getString("selected_data")); 
       selectedData=(bundle.getString("selected_data")); 
      } 

      dbHelper=new DBHelper(this.getActivity()); 
      medicineModelList= dbHelper.getAllUsingBrandName(selectedData); 

      adapter=new CustomAdapterBrandResult(getActivity(), medicineModelList); 
      listView.setAdapter(adapter); 
      return view; 
     } 

    } 

カスタム・アダプタ

import android.content.Context; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.BaseAdapter; 
import android.widget.TextView; 
import java.util.ArrayList; 

public class CustomAdapterBrandResult extends BaseAdapter { 
    private Context mcontext; 
    private ArrayList<MedicineModel> medicineModelList; 
    public CustomAdapterBrandResult(Context mcontext, ArrayList<MedicineModel> medicineModelList) { 
     this.mcontext = mcontext; 
     this.medicineModelList = medicineModelList; 
    } 
    @Override 
    public int getCount() { 
     return medicineModelList.size(); 
    } 
    @Override 
    public Object getItem(int position) { 
     return medicineModelList.get(position); 
    } 
    @Override 
    public long getItemId(int position) { 
     return position; 
    } 
    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     View view=View.inflate(mcontext,R.layout.custom_layout_brand_result,null); 

     final TextView textViewBrand=(TextView)view.findViewById(R.id.textView2BrandName); 
     final TextView textViewManufacture=(TextView)view.findViewById(R.id.textView3Manufacture); 

     textViewBrand.setText(medicineModelList.get(position).getBrandName()); 
     textViewManufacture.setText(medicineModelList.get(position).getNameoftheManufacturer()); 
     return view; 
    } 
} 
最後に

答えて

関連する問題