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;
}
}
最後に