jeudi 23 juin 2016

java.lang.NullPointerException at ArrayAdapter

i have two layouts one has editText and the other as listview to change the editText's Fonts. but the app is getting crushed at clicking the button for opening the layout with listView probably bcuz of array Adapters. please help me. My Code: MainActivity.java[enter image description here][1]

String[] values = new String[]{

        "art_science",
        "big_bold",
        "bold_itallic",
        "crazy_days",
        "gabriola",
        "handwritting",
        "new_bold",
        "new_itallic",
        "oldschool",
        "rough&tough",
        "sketch",

};

ListView listView;
EditText text;
LinearLayout choosefonts;
ImageButton btnOpen, btnClose, btnNew, btnSave, btnDelete,btnChangeFont;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    listView =(ListView)findViewById(R.id.listView);
    btnChangeFont = (ImageButton)findViewById(R.id.btnChangeFont);
    btnChangeFont.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            setContentView(R.layout.choosefonts);
            choosefonts = (LinearLayout)findViewById(R.id.choosefonts);
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,android.R.id.text1,values);
            listView.setAdapter(adapter);
            listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                switch (position){
                    case 0:text.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/art_science.ttf"));
                         break;
                    case 1: text.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/big_bold.ttf"));
                        break;
                    case 3:text.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/bold_itallic.ttf"));
                        break;
                    case 4:text.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/crazy_days.ttf"));
                        break;
                    case 5:text.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/gabriola.ttf"));
                        break;
                    case 6:text.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/handwritting.ttf"));
                        break;
                    case 7:text.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/new_bold.ttf"));
                        break;
                    case 8:text.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/new_itallic.ttf"));
                        break;
                    case 9:text.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/oldschool.ttf"));
                        break;
                    case 10:text.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/rough&tough.ttf"));
                        break;
                    case 11:text.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/sketch.ttf"));
                        break;}
            }
        });

        }
    });

logcat error 06-22 11:48:18.188 8058-8058/? E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.example.xarn.test, PID: 8058 java.lang.NullPointerException at com.example.xarn.test.MainActivity$1.onClick(MainActivity.java:65) at android.view.View.performClick(View.java:4443) at android.view.View$PerformClick.run(View.java:18442) 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)

Aucun commentaire:

Enregistrer un commentaire