ورود

View Full Version : مشکل در setAdapter کردن یک spinner



m_jafari_1370
دوشنبه 22 دی 1393, 14:12 عصر
سلام دوستان. این کلاس زیر رو موردنظر قرار بدید:

public class HomeFragment extends ListFragment implements OnItemClickListener{
public HomeFragment(){}
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
.
.
addItemsOnSpinner1();
.
.
return rootView;
}
public void addItemsOnSpinner1() {
spinner1 = (Spinner) getActivity().findViewById(R.id.spinner1);
List<String> list = new ArrayList<String>();
db = new DBAdapter(this.getActivity());
db.open();
Cursor d = db.fetchAllmahallename();
if(d.moveToFirst()){
do{
list.add(d.getString(0));
}
while(d.moveToNext());
}
d.close();
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(getActivity().getApplicationContext(), android.R.layout.simple_spinner_item,list);
// Drop down layout style - list view with radio button
dataAdapter.setDropDownViewResource(android.R.layo ut.simple_spinner_dropdown_item);
Log.i("MyLog","here1");
// attaching data adapter to spinner
spinner1.setAdapter(dataAdapter);
Log.i("MyLog","here2");
}
}

تا قسمت لاگ here1 میره ولی توی خط بعدی برنامه کرش میکنه. بنظرتون مشکل از کجاست؟ کجای کد مشکل داره؟! والا من که دیگه چیزی نفهمیدم...
ممنون از راهنماییتون

smemamian
دوشنبه 22 دی 1393, 16:30 عصر
سلام
متن خطا رو بذارید.

m_jafari_1370
دوشنبه 22 دی 1393, 16:39 عصر
متن خطا ، ممنون و متشکر



01-12 17:17:29.197: I/MyLog(6672): here1
01-12 17:17:29.207: D/AndroidRuntime(6672): Shutting down VM
01-12 17:17:29.207: W/dalvikvm(6672): threadid=1: thread exiting with uncaught exception (group=0x409961f8)
01-12 17:17:29.217: E/AndroidRuntime(6672): FATAL EXCEPTION: main
01-12 17:17:29.217: E/AndroidRuntime(6672): java.lang.RuntimeException: Unable to start activity ComponentInfo{info.androidhive.slidingmenu/info.androidhive.slidingmenu.MainActivity}: java.lang.NullPointerException
01-12 17:17:29.217: E/AndroidRuntime(6672): at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:1955)
01-12 17:17:29.217: E/AndroidRuntime(6672): at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:1980)
01-12 17:17:29.217: E/AndroidRuntime(6672): at android.app.ActivityThread.access$600(ActivityThre ad.java:122)
01-12 17:17:29.217: E/AndroidRuntime(6672): at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1146)
01-12 17:17:29.217: E/AndroidRuntime(6672): at android.os.Handler.dispatchMessage(Handler.java:99 )
01-12 17:17:29.217: E/AndroidRuntime(6672): at android.os.Looper.loop(Looper.java:137)
01-12 17:17:29.217: E/AndroidRuntime(6672): at android.app.ActivityThread.main(ActivityThread.jav a:4340)
01-12 17:17:29.217: E/AndroidRuntime(6672): at java.lang.reflect.Method.invokeNative(Native Method)
01-12 17:17:29.217: E/AndroidRuntime(6672): at java.lang.reflect.Method.invoke(Method.java:511)
01-12 17:17:29.217: E/AndroidRuntime(6672): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:784)
01-12 17:17:29.217: E/AndroidRuntime(6672): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:551)
01-12 17:17:29.217: E/AndroidRuntime(6672): at dalvik.system.NativeStart.main(Native Method)
01-12 17:17:29.217: E/AndroidRuntime(6672): Caused by: java.lang.NullPointerException
01-12 17:17:29.217: E/AndroidRuntime(6672): at info.androidhive.slidingmenu.HomeFragment.addItems OnSpinner1(HomeFragment.java:240)
01-12 17:17:29.217: E/AndroidRuntime(6672): at info.androidhive.slidingmenu.HomeFragment.onCreate View(HomeFragment.java:129)
01-12 17:17:29.217: E/AndroidRuntime(6672): at android.app.FragmentManagerImpl.moveToState(Fragme ntManager.java:795)
01-12 17:17:29.217: E/AndroidRuntime(6672): at android.app.FragmentManagerImpl.moveToState(Fragme ntManager.java:998)
01-12 17:17:29.217: E/AndroidRuntime(6672): at android.app.BackStackRecord.run(BackStackRecord.ja va:622)
01-12 17:17:29.217: E/AndroidRuntime(6672): at android.app.FragmentManagerImpl.execPendingActions (FragmentManager.java:1330)
01-12 17:17:29.217: E/AndroidRuntime(6672): at android.app.Activity.performStart(Activity.java:44 74)
01-12 17:17:29.217: E/AndroidRuntime(6672): at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:1928)
01-12 17:17:29.217: E/AndroidRuntime(6672): ... 11 more

m_jafari_1370
دوشنبه 22 دی 1393, 16:44 عصر
لازم به ذکر است که من از همین کد وقتی که کلاسم extends ListActivity بود استفاده میکردم و مشکلی هم نداشتم...
الان که به دلایلی مجبور شدم بکنمش extends ListFragment این یه جریانات جدیدی راه انداخته که این یکیشه!

#root#
دوشنبه 22 دی 1393, 17:21 عصر
شما rootView رو به عنوان ورودی به این متد addItemsOnSpinner1 بدید و اونجا بجای getActivity.findViewById از rootView.findViewById استفاده کنید.