2014-08-26 3 views
0

Я ошибаюсь в ошибке исключения в строке «localButton1.setOnClickListener (новый View.OnClickListener()» моего кода. Я вызываю это действие при нажатии кнопки. давая мне NPE. Просьба помочь мне решить эту pblm.Я получаю исключение null point в своем приложении для Android

08-26 17:54:34.884: E/AndroidRuntime(2973): FATAL EXCEPTION: main 
08-26 17:54:34.884: E/AndroidRuntime(2973): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.positivityapp/com.example.positivityapp.CreateSlideActivity}: java.lang.NullPointerException 
08-26 17:54:34.884: E/AndroidRuntime(2973):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1748) 
08-26 17:54:34.884: E/AndroidRuntime(2973):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1764) 
08-26 17:54:34.884: E/AndroidRuntime(2973):  at android.app.ActivityThread.access$1500(ActivityThread.java:122) 
08-26 17:54:34.884: E/AndroidRuntime(2973):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1002) 
08-26 17:54:34.884: E/AndroidRuntime(2973):  at android.os.Handler.dispatchMessage(Handler.java:99) 
08-26 17:54:34.884: E/AndroidRuntime(2973):  at android.os.Looper.loop(Looper.java:132) 
08-26 17:54:34.884: E/AndroidRuntime(2973):  at android.app.ActivityThread.main(ActivityThread.java:4025) 
08-26 17:54:34.884: E/AndroidRuntime(2973):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-26 17:54:34.884: E/AndroidRuntime(2973):  at java.lang.reflect.Method.invoke(Method.java:491) 
08-26 17:54:34.884: E/AndroidRuntime(2973):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
08-26 17:54:34.884: E/AndroidRuntime(2973):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 
08-26 17:54:34.884: E/AndroidRuntime(2973):  at dalvik.system.NativeStart.main(Native Method) 
08-26 17:54:34.884: E/AndroidRuntime(2973): Caused by: java.lang.NullPointerException 
08-26 17:54:34.884: E/AndroidRuntime(2973):  at com.example.positivityapp.CreateSlideActivity.onCreate(CreateSlideActivity.java:149) 
08-26 17:54:34.884: E/AndroidRuntime(2973):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048) 
08-26 17:54:34.884: E/AndroidRuntime(2973):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1712) 

мой CreateSlideActivity

package com.example.positivityapp; 
import android.app.Activity; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.Button; 
import android.widget.ImageView; 
import android.widget.TextView; 
import android.widget.Toast; 
import java.util.ArrayList; 
import com.example.positivityapp.db.DBAdapter; 
import com.example.positivityapp.views.DraggableGridView; 



public class CreateSlideActivity extends Activity { 

    private ArrayList<String> arl; 
     Boolean arrsize; 
     DraggableGridView dgv; 
     ArrayList<String> localArrayList; 
     DBAdapter localDBAdapter; 
     private FullImageLoader mLoder; 
     private Uri musicUrl; 
     private TextView textViewMessagetitle; 
     boolean url = true; 

     private void SaveVideo() 
     { 
     if (this.musicUrl != null) 
     { 
      String str = this.musicUrl.toString(); 
      this.localDBAdapter.addSlideShow(str, this.arl); 
      Toast.makeText(getBaseContext(), "Saved!", 0).show(); 
      this.url = false; 
      finish(); 
      return; 
     } 
     if (this.url) {} 
     this.localDBAdapter.addSlideShow(null, this.arl); 
     Toast.makeText(getBaseContext(), "Saved!", 0).show(); 
     this.url = true; 
     finish(); 
     } 
     private void setListeners() 
     { 
     this.dgv.setOnRearrangeListener(new com.animoto.android.views.OnRearrangeListener() 
     { 
      public void onRearrange(int paramAnonymousInt1, int paramAnonymousInt2) 
      { 
      String str = (String)CreateSlideActivity.this.arl.remove(paramAnonymousInt1); 
      if (paramAnonymousInt1 < paramAnonymousInt2) 
      { 
       CreateSlideActivity.this.arl.add(paramAnonymousInt2, str); 
       return; 
      } 
      CreateSlideActivity.this.arl.add(paramAnonymousInt2, str); 
      } 
     }); 
     this.dgv.setOnItemClickListener(new AdapterView.OnItemClickListener() 
     { 
      public void onItemClick(AdapterView<?> paramAnonymousAdapterView, View paramAnonymousView, int paramAnonymousInt, long paramAnonymousLong) 
      { 
      CreateSlideActivity.this.dgv.removeViewAt(paramAnonymousInt); 
      CreateSlideActivity.this.arl.remove(paramAnonymousInt); 
      } 
     }); 
     } 

     protected void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent) 
     { 
     super.onActivityResult(paramInt1, paramInt2, paramIntent); 
     if ((paramInt2 == -1) && (paramIntent != null)) 
     { 
      if (paramInt1 != 1) { 
       for (;;) 
      { 

       if (paramInt1 == 0) 
       { 
       this.localArrayList = ((ArrayList)paramIntent.getSerializableExtra("list")); 
       if (this.arl == null) 
       { 
        this.arl = this.localArrayList; 
        this.arrsize = Boolean.valueOf(true); 
       } 
       if (this.arrsize.booleanValue()) 
       { 
        int k = 0; 
        if (this.localArrayList != null) 
        { 
        this.textViewMessagetitle.setVisibility(0); 
        this.dgv.setVisibility(0); 
        this.arl.addAll(this.localArrayList); 
        k = this.localArrayList.size(); 
        } 
        for (int m = 0;; m++) 
        { 
        if (m >= k/2) 
        { 
         this.arrsize = Boolean.valueOf(false); 
         return; 
        } 
        this.localArrayList.remove(m); 
        ImageView localImageView2 = new ImageView(this); 
        localImageView2.setScaleType(ImageView.ScaleType.CENTER_CROP); 
        localImageView2.setImageBitmap(this.mLoder.getBitmap((String)this.localArrayList.get(m), 300, 300)); 
        this.dgv.addView(localImageView2); 
        } 
       } 
       if (this.localArrayList == null) { 
        break; 
       } 
       this.textViewMessagetitle.setVisibility(0); 
       this.dgv.setVisibility(0); 
       this.arl.addAll(this.localArrayList); 
       int i = this.localArrayList.size(); 
       for (int j = 0; j < i; j++) 
       { 
        ImageView localImageView1 = new ImageView(this); 
        localImageView1.setScaleType(ImageView.ScaleType.CENTER_CROP); 
        localImageView1.setImageBitmap(this.mLoder.getBitmap((String)this.localArrayList.get(j), 300, 300)); 
        this.dgv.addView(localImageView1); 
       } 
       } 
      } 
      } 
      this.musicUrl = paramIntent.getData(); 
     } 

     } 
     public void onBackPressed() 
     { 
     super.onBackPressed(); 

     } 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_create_slide); 
     Button localButton1 = (Button)findViewById(R.id.buttonCreateSlideShow); 
     Button localButton2 = (Button)findViewById(R.id.buttonMusic); 
     Button localButton3 = (Button)findViewById(R.id.buttonPreview); 
     Button localButton4 = (Button)findViewById(R.id.buttonSave); 
     localButton1.setOnClickListener(new View.OnClickListener() 
     { 
      public void onClick(View paramAnonymousView) 
      { 
      startActivityForResult(new Intent().setClass(CreateSlideActivity.this, MultiPhotoSelectActivity.class), 0); 
      } 
     }); 
     localButton2.setOnClickListener(new View.OnClickListener() 
     { 
      public void onClick(View paramAnonymousView) 
      { 
      Intent localIntent = new Intent(); 
      localIntent.setType("audio/*"); 
      localIntent.setAction("android.intent.action.GET_CONTENT"); 
      CreateSlideActivity.this.startActivityForResult(Intent.createChooser(localIntent, "Complete action using"), 1); 
      } 
     }); 
     localButton3.setOnClickListener(new View.OnClickListener() 
     { 
      public void onClick(View paramAnonymousView) 
      { 
      if (CreateSlideActivity.this.arl == null) 
      { 
       Toast.makeText(CreateSlideActivity.this.getBaseContext(), "Choose photos from gallery!", 0).show(); 
       return; 
      } 
      Intent localIntent = new Intent(); 
      localIntent.putExtra("list", CreateSlideActivity.this.arl); 
      localIntent.setData(CreateSlideActivity.this.musicUrl); 
      localIntent.putExtra("preview", true); 
      localIntent.putExtra("oldslide", false); 
      localIntent.setClass(CreateSlideActivity.this, SlideShow.class); 
      CreateSlideActivity.this.startActivity(localIntent); 
      } 
     }); 
     localButton4.setOnClickListener(new View.OnClickListener() 
     { 
      public void onClick(View paramAnonymousView) 
      { 
      if (CreateSlideActivity.this.arl == null) 
      { 
       Toast.makeText(CreateSlideActivity.this.getBaseContext(), "Choose photos from gallery!", 0).show(); 
       return; 
      } 
      CreateSlideActivity.this.localDBAdapter = new DBAdapter(CreateSlideActivity.this); 
      CreateSlideActivity.this.SaveVideo(); 
      } 
     }); 
     this.dgv = ((DraggableGridView)findViewById(R.id.vgv)); 
     this.textViewMessagetitle = ((TextView)findViewById(R.id.textViewMessagetitle)); 
     this.mLoder = new FullImageLoader(getBaseContext(), (short)200); 
     setListeners(); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.create_slide, menu); 
     return true; 
    } 

} 

мой XML

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 

    android:padding="2.0dip" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:keepScreenOn="true" 
    xmlns:android="http://schemas.android.com/apk/res/android" 

> 
    <LinearLayout 
     android:gravity="center" 
     android:orientation="vertical" 
     android:id="@+id/layout_button" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_above="@+id/ad1"> 
     <LinearLayout 
      android:gravity="center" 
      android:orientation="horizontal" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="10.0dip"> 
      <Button 
       android:id="@+id/buttonChoosePictures" 
       android:background="@drawable/ingallery" 
       android:layout_width="100.0dip" 
       android:layout_height="100.0dip" /> 
      <Button 
       android:id="@+id/buttonMusic" 
       android:background="@drawable/inmusic" 
       android:layout_width="100.0dip" 
       android:layout_height="100.0dip" /> 
     </LinearLayout> 
     <LinearLayout android:gravity="center" 
      android:orientation="horizontal" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="10.0dip"> 
      <Button 
       android:id="@+id/buttonPreview" 
       android:background="@drawable/inpreview" 
       android:layout_width="100.0dip" 
       android:layout_height="100.0dip" /> 
      <Button 
       android:id="@+id/buttonSave" 
       android:background="@drawable/insave" 
       android:layout_width="100.0dip" 
       android:layout_height="100.0dip" /> 
     </LinearLayout> 
     <LinearLayout 
      android:gravity="center" 
      android:orientation="vertical" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"> 
      <TextView 
       android:textAppearance="?android:textAppearanceMedium" 
       android:textColor="@android:color/white" 
       android:id="@+id/textViewMessagetitle" 
       android:visibility="gone" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="3.0dip" 
       android:layout_marginBottom="2.0dip" 
       android:text="Drag slide to arrange slide" /> 
      <com.example.positivityapp.views.DraggableGridView 
       android:scrollbarStyle="insideOverlay" 
       android:id="@+id/vgv" 
       android:background="@drawable/bg_grid" 
       android:visibility="gone" 
       android:scrollbars="vertical" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="5.0dip" /> 
     </LinearLayout> 
    </LinearLayout> 

</RelativeLayout> 
+0

Пожалуйста, покажите ваш LogCat. На какой строке вы получаете исключение Null pointer? – Piyush

+0

, пожалуйста, проверьте ваш ** activity_create_slide.xml ** файл есть ** buttonCreateSlideShow ** id задан кнопке или другой? –

+0

Проблема из-за того, что вы не инициализировали arl arrayList. – Piyush

ответ

0

нет кнопки с идентификатором buttonCreateSlideShow в вашем XML-файле

измените эту строку в вашем OnCreate метод

Button localButton1 = (Button)findViewById(R.id.buttonCreateSlideShow); 

с

Button localButton1 = (Button)findViewById(R.id.buttonChoosePictures); 
Смежные вопросы