2016-12-31 14 views
0

私はすでにこのトピックに関する解決策があることを知っていますが、問題の修正に失敗しました。 私はアンドロイドを習ったばかりでなく、このグループの新人です。私はonCreateView()メソッドでスピナーを実装しようとしています。私はこのチュートリアルに従ったAndroid developers
しかし、私はこのアプリをAVDで実行すると突然停止し、アプリケーションを閉じます。
問題を解決するのを手伝ってください。
これはコード
Androidランタイム:致命的な例外java.lang.NullPointerException

ここ
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.Spinner; 
import android.widget.Toast; 

import static android.R.layout.simple_spinner_dropdown_item; 
import static android.R.layout.simple_spinner_item; 

public class edit_information extends Fragment implements AdapterView.OnItemSelectedListener { 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstaceState){ 
     Spinner spinner = (Spinner) getActivity().findViewById(R.id.spinner1); 
     //Creating an array adapter using the string array and a default spinner layout 
     ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(getContext(),R.array.hall_type,simple_spinner_item); 

     //Layout to choose the dropdown list 
     adapter.setDropDownViewResource(simple_spinner_dropdown_item); 
     spinner.setAdapter(adapter); 
     spinner.setOnItemSelectedListener(this); 
     return inflater.inflate(R.layout.edit_information,container,false); 
    } 

    @Override 
    public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { 
     Toast.makeText(adapterView.getContext(),"Hall Selected: \n"+adapterView.getItemAtPosition(i).toString(),Toast.LENGTH_LONG).show(); 
    } 

    @Override 
    public void onNothingSelected(AdapterView<?> adapterView) { 

    } 
} 

私のjava logcatファイルエラーです

FATAL EXCEPTION: main 
Process: com.example.lokesh.eveapp, PID: 18424 
java.lang.NullPointerException 
    at com.example.lokesh.eveapp.edit_information.onCreateView(edit_information.java:27) 
    at android.support.v4.app.Fragment.performCreateView(Fragment.java:2087) 
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1113) 
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1295) 
    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:801) 
    at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:1643) 
    at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:679) 
    at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:166) 
    at android.support.v4.view.ViewPager.populate(ViewPager.java:1272) 
    at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:672) 
    at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:634) 
    at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:615) 
    at com.example.lokesh.eveapp.Member_Activity.onTabSelected(Member_Activity.java:81) 
    at android.support.design.widget.TabLayout.dispatchTabSelected(TabLayout.java:1154) 
    at android.support.design.widget.TabLayout.selectTab(TabLayout.java:1147) 
    at android.support.design.widget.TabLayout.selectTab(TabLayout.java:1117) 
    at android.support.design.widget.TabLayout$Tab.select(TabLayout.java:1412) 
    at android.support.design.widget.TabLayout$TabView.performClick(TabLayout.java:1520) 
    at android.view.View$PerformClick.run(View.java:18568) 
    at android.os.Handler.handleCallback(Handler.java:733) 
    at android.os.Handler.dispatchMessage(Handler.java:95) 
    at android.os.Looper.loop(Looper.java:136) 
    at android.app.ActivityThread.main(ActivityThread.java:5021) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:515) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643) 
    at dalvik.system.NativeStart.main(Native Method) 

Logcatが、これはライン上のコードである27行にNullPointerExceptionが言う27

spinner.setAdapter(adapter); 

お手伝いします。
ありがとう

答えて

1

あなたは間違っています。

問題はonCreateViewメソッドにあります。 getActivity()を使用してView要素を作成することはできません。あなたのスピナーは見つからないのでヌルです。だからではなく、本の

Spinner spinner = (Spinner) getActivity().findViewById(R.id.spinner1); 

使用この:

View view = inflater.inflate(R.layout.edit_information, container, false); 
Spinner spinner = (Spinner) view.findViewById(R.id.spinner1); 
return view; 

敬具とコーディング幸せ。

+0

ルームチェックを書こうとしていただきありがとうございます。 –

+0

ありがとうございます。それは今働く。 –

+0

問題ありません。幸せな新年;) – MilanNz

関連する問題