请帮助我得到NullPointerException错误。我是新的碎片,我尝试了没有碎片,它是工作的,我不明白为什么它不工作,当我实现它在碎片上,我已经检查了数据库,数据库没有问题,谢谢。
E/AndroidRuntime: FATAL EXCEPTION: main
Process: id.co.bumisentosa.yantek, PID: 26979
java.lang.NullPointerException
at id.co.bumisentosa.yantek.fragment_JTM.Inspection_JTM_Fragment_Awal_Tab.onCreateView(Inspection_JTM_Fragment_Awal_Tab.java:95)
public class Inspection_JTM_Fragment_Awal_Tab extends Fragment implements
OnItemSelectedListener, View.OnClickListener {
// Spinner element
Spinner spinner_unit;
private Context context;
private DatabaseHandler databaseHandler;
static int categoryID;
private List<ItemsDetails> categoryList;
private CategorySpinnerAdapter adapter;
public Inspection_JTM_Fragment_Awal_Tab() {
// Required empty public constructor
}
public static int getCategory() {
return categoryID;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = getActivity();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.inspection_jtm_fragment_tab_awal, container, false);
// Spinner element
spinner_unit = (Spinner) view.findViewById(R.id.spinner_unit_inspeksi_jtm);
categoryList = databaseHandler.getCategories();
adapter = new CategorySpinnerAdapter(getActivity(), categoryList);
spinner_unit.setAdapter(adapter);
spinner_unit.setOnItemSelectedListener(this);
return view;
}
public class CategorySpinnerAdapter extends BaseAdapter {
private List<ItemsDetails> list;
private LayoutInflater inflater;
public CategorySpinnerAdapter(Activity activity, List<ItemsDetails> list) {
this.list = list;
this.inflater = LayoutInflater.from(activity);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View view, ViewGroup root) {
if(view == null){
view = inflater.inflate(R.layout.spinner_item, root, false);
}
TextView categoryName = (TextView) view.findViewById(R.id.text_category_name);
categoryName.setText(list.get(position).getName());
return view;
}
}
公共类DatabaseHandler扩展SQLiteOpenHelper{
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "test";
// Contacts table name
private static final String TABLE_CATEGORY = "category";
// Contacts Table Columns names
private static final String KEY_ID = "id";
private static final String KEY_NAME = "name";
//
public DatabaseHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_CATEGORY_TABLES = " CREATE TABLE " + TABLE_CATEGORY
+ "(" + KEY_ID + " INTEGER PRIMARY KEY, " + KEY_NAME + " TEXT " + ")";
db.execSQL(CREATE_CATEGORY_TABLES);
}
// Upgrading database
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Drop older table if existed
db.execSQL("DROP TABLE IF EXISTS " + TABLE_CATEGORY);
// Create tables again
onCreate(db);
}
public List<ItemsDetails> getCategories() {
List<ItemsDetails> detailsList = new ArrayList<ItemsDetails>();
String selectQuery = "SELECT * FROM " + TABLE_CATEGORY;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
try {
ItemsDetails details = new ItemsDetails();
details.setId(cursor.getInt(0));
details.setName(cursor.getString(1));
detailsList.add(details);
} catch (Exception e) {
e.printStackTrace();
}
} while (cursor.moveToNext());
}
cursor.close();
db.close();
return detailsList;
}
}
您在getItem方法中返回null。
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
只是返回
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return arrayList.get(arg0);
}
问题内容: 这个想法是我有一个列表视图,其中每个项目都是一个产品,当我单击该项目时,我需要从列表视图的适配器内部的单击中转到另一个片段。 我的适配器是: 您必须假设所有代码都在工作。 如何转到适配器内的产品Fragment? 问题答案: 为了解决这个问题,我要做的是: 在主类中,我将参数作为值,并通过开关在我感兴趣的main中设置了片段。
问题内容: 我有一些碎片。每个片段具有在(=挥动之前不可见的)用。 适配器设置为,这会减慢刷卡速度,因为每次创建时都要载入30个列表项,因为正在创建新的片段。 我的问题是,在空闲时刷卡后是否可以设置适配器?或者,还有更好的方法?扩展SlideDrawer时,该列表需要已经加载。 问题答案: 我的问题是,是否可以在Pager闲置时刷卡后设置适配器? 还有就是,你可以在设置监控的滑动手势。然后,您可以
给我的 我已经尝试了我找到的所有解决方案(设置一个空适配器,将代码移动到哪里,使用单独的线程),但无济于事。这应该适用于正常的活动,所以我想也许我做错了什么。
我正在我的应用程序中集成可搜索的旋转器。下面是我的代码 Xml文件 Man.java 当我运行上面的代码时,我得到的输出如下图所示。自定义arraylist数据不显示它是打印java每个项目旋转器输出的垃圾值
我的片段中的回收视图给我这个错误,但我无法弄清楚。关于这个问题有很多问题,但到目前为止,它们都没有解决我的问题。 这是我的片段中的一段代码:
我正在尝试将一个旋转器的值传递到一个不同的片段中,这样它就可以在一个不同的片段中使用,从而将它转换成一个不同的单元。我这里有密码。我有一个onitemselected方法,它接受旋转器的值,并将其显示在应用程序的底部。 如有任何帮助,我们将不胜感激。 公共视图onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedI