問題Sloverd,我試圖實現在片段列表視圖而不implenting listfragmentandroid-在使用Base適配器的Fragment中實現ListVIew,我做錯了什麼?
(只是延伸片段)
和定製適配器而不延伸任何ArrayAdapter或ListAdapter ..
(只是擴展BaseAdapter)
我的下面的代碼顯示沒有錯誤,但listview沒有顯示在片段中。我正在使用自定義適配器來一起顯示兩個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;
}
}
@ Mikerizzo最終解決了它,但仍然不知道爲什麼我必須將它們分開。反正謝謝bro –
@IntelliJA感謝你的時間,真正感謝它:)並看到解決方案,你是對的,馬虎的錯誤...哈哈 –
很高興看到你解決了。快樂的編碼! –