所以這是我fPretraga類:NPE在片段變化拋出(無法解決fragment.getView())
public class FragmentPretraga extends android.app.Fragment
{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
return inflater.inflate(R.layout.izgled_pretraga, container, false);
}
}
這是
try
{
Spinner oblasti = (Spinner) fPretraga.getView().findViewById(R.id.spinnerOblasti);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.oblasti, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
oblasti.setAdapter(adapter);
EditText sranje = (EditText) fPretraga.getView().findViewById(R.id.editBrojDjaka);
sranje.setText("0");
}
catch(NullPointerException e)
{
Log.e("LOAD_TAG","Šta se desilo?",e);
}
功能應該功能加載變量(在這種情況下,使用預設的字符串值數組來將微調器膨脹並將一個文本框的文本設置爲默認的「0」值)。我的假設是NPE被拋出,因爲getView()沒有返回我期待的View,即我寫的onCreateView是錯誤的。因爲ID「spinnerOblasti」存在於「izgled_pretraga.xml」文件中。有什麼想法嗎? 在此先感謝。
logcat的日誌:
04-16 14:17:19.866:d/gralloc_goldfish(541):仿真器,而不GPU仿真檢測。
04-16 14:18:50.356:E/LOAD_TAG(541):Štase desilo?
04-16 14:18:50.356:E/LOAD_TAG(541):顯示java.lang.NullPointerException
04-16 14:18:50.356:E/LOAD_TAG(541):在com.markosoft。 maturko.Maturko.UcitajPromenljive(Maturko.java:214)
04-16 14:18:50.356:E/LOAD_TAG(541):在com.markosoft.maturko.Maturko $ MyTabListener.onTabSelected(Maturko.java:181 )
04-16 14:18:50.356:E/LOAD_TAG(541):在com.android.internal.app.ActionBarImpl.selectTab(ActionBarImpl.java:512)
04-16 14:18:50.356:E/LOAD_TAG(541):at com.android.internal.app.ActionBarImpl $ TabImpl.select(ActionBarImpl.java:893)
04-16 14:18:50.356 :E/LOAD_TAG(541):在com.android.internal.widget.ScrollingTabContainerView $ TabClickListener.onClick(ScrollingTabContainerView.java:488)
04-16 14:18:50.356:E/LOAD_TAG(541):在android.view.View.performClick(View.java:3480)
04-16 14:18:50.356:E/LOAD_TAG(541):在android.view.View $ PerformClick.run(View.java:13983 )
04-16 14:18:50.356:E/LOAD_TAG(541):at android .os.Handler.handleCallback(Handler.java:605)
04-16 14:18:50.356:E/LOAD_TAG(541):在android.os.Handler.dispatchMessage(Handler.java:92)
04-16 14:18:50.356:E/LOAD_TAG(541):在android.os.Looper.loop(Looper.java:137)
04-16 14:18:50.356:E/LOAD_TAG( 541):at android.app.ActivityThread.main(ActivityThread.java:4340)
04-16 14:18:50.356:E/LOAD_TAG(541):at java.lang.reflect.Method.invokeNative(Native方法)
04-16 14:18:50.356:E/LOAD_TAG(541):在java.lang.reflect.Method.invoke(Method.java:511)
04-16 14:18:50.356:E/LOAD_TAG (541):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller。運行(ZygoteInit.java:784)
04-16 14:18:50.356:E/LOAD_TAG(541):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
04-16 14:18:50.356:E/LOAD_TAG(541):在dalvik.system.NativeStart.main(本機方法)
04-16 14:18:50.746:d/dalvikvm(541):GC_CONCURRENT解放214K,免費10102K/10439K 4%,暫停3毫秒+ 4ms的
堆棧跟蹤? –
第二塊代碼在哪裏? – Egor
嘗試'getActivity()'而不是'getView()' – TronicZomB