#android #listview #android-fragments
#Android #listview #android-фрагменты
Вопрос:
Итак, я тестирую просмотр страницы, и обе вкладки не работают. Отдел использует ListView, где вкладка Facility должна была отображать сетку с изображениями, которые можно рисовать. Но ни один из них не появляется при отладке приложения.
Вот фрагмент отдела
public class DepartmentFragment extends Fragment implements OnItemClickListener {
private ArrayList<Department> dept_list = new ArrayList<Department>();
Context context;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
context = rootView.getContext();
ListView list_view = (ListView) rootView.findViewById(R.id.dept_list);
Database database = new Database(rootView.getContext());
dept_list.addAll(Utils.SortDepartment(new ArrayList<Department>(database.getAllDepartment())));
ArrayAdapter<Department> dept_adapter = new DepartmentListAdapter(context, dept_list);
list_view.setAdapter(dept_adapter);
list_view.setOnItemClickListener(this);
return rootView;
}
//when I click on it, it shows the details page correctly
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent info_intent;
info_intent = new Intent(view.getContext(), DepartmentInfo.class);
info_intent.putExtra("deptname", dept_list.get(position).getDept_name());
startActivity(info_intent);
// TODO Auto-generated method stub
}
}
Это адаптер списка отделов
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
Department department = this.getItem(position);
if (convertView == null) {
convertView = inflater.inflate(R.layout.dept_rowitem, null);
}
txt_deptname = (TextView) convertView.findViewById(R.id.dept_row_name);
dept_image = (ImageView) convertView.findViewById(R.id.dept_row_image);
txt_deptsummary = (TextView) convertView.findViewById(R.id.dept_row_detail);
int resID = convertView.getResources().getIdentifier(department.getDept_img(), "drawable", "com.example.yangonuniversity");
Bitmap bitmapimage = Utils.ImageDecode(resID, convertView);
dept_image.setImageBitmap(bitmapimage);
txt_deptname.setText(department.getDept_name());
txt_deptsummary.setText(Utils.unescape(department.getDept_info().substring(0, 150) "....."));
return convertView;
}
И во фрагменте объекта
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View rootView = inflater.inflate(R.layout.fragment_build, container, false);
Database database = new Database(rootView.getContext());
build_list.addAll(database.getAllBuildings());
GridView grid_view = (GridView) rootView.findViewById(R.id.GridLayout1);
grid_view.setAdapter(new BuildingListAdapter(rootView.getContext(), build_list));
return rootView;
}
И вот адаптер для просмотра сетки в макете объекта
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ImageView img_view = new ImageView(context);
int resID = convertView.getResources().getIdentifier(build_list.get(position).getBuild_img(), "drawable", "com.example.yangonuniversity");
img_view.setImageResource(resID);
img_view.setScaleType(ScaleType.CENTER_CROP);
img_view.setLayoutParams(new GridView.LayoutParams(70, 70));
return img_view;
}
Спасибо, что помогли мне с моим проектом: D
РЕДАКТИРОВАТЬ: Добавлены изображения
Комментарии:
1. Очевидный вопрос заключается в том, действительно ли объекты данных содержат что-то или нет.
2. @Luksprog вы имели в виду объект отдела / объекта или базу данных?
3. @Luksprog Я устал удалять журнал компонентов отдела. Они отображаются соответственно. Даже TextView.getText() показывает, что в нем должно быть. Я думаю, что есть проблема с inflater или convertView, но я не знаю, что это