2015-01-20 5 views
-2

AmbilwarnaColorDialog를 사용하여 color를 선택했습니다. 따라서 Ambilwarna 라이브러리가 포함되었습니다. 이미지를 클릭하여 색상 대화 상자를 열려고합니다. 그래서 나는 단지 다음의 메서드를 호출한다. 하지만 그것은 나를 null 포인터 예외를 보여줍니다. 누구든지 나를 도울 수 있습니까? 내 코드 : 내 수입은 대화 상자를 표시하는 방법을 호출 할 때 null 포인터 예외가 발생합니다.

int color; 

void openDialog(boolean supportsAlpha) { 
    AmbilWarnaDialog dialog = new AmbilWarnaDialog(MainActivity.this, 
      color, supportsAlpha, 
      new AmbilWarnaDialog.OnAmbilWarnaListener() { 

       @Override 
       public void onOk(AmbilWarnaDialog dialog, int color) { 
        Toast.makeText(getApplicationContext(), "ok", 
          Toast.LENGTH_SHORT).show(); 
        MainActivity.this.color = color; 
       } 

       @Override 
       public void onCancel(AmbilWarnaDialog dialog) { 
        Toast.makeText(getApplicationContext(), "cancel", 
          Toast.LENGTH_SHORT).show(); 
       } 
      }); 
    dialog.show(); 
} 

입니다

:

import yuku.ambilwarna.AmbilWarnaDialog; 

로그 캣을 다음과 같이 표시됩니다 :

01-20 10:54:56.260: E/AndroidRuntime(14407): FATAL EXCEPTION: main 
01-20 10:54:56.260: E/AndroidRuntime(14407): java.lang.NullPointerException 
01-20 10:54:56.260: E/AndroidRuntime(14407): at yuku.ambilwarna.AmbilWarnaDialog.<init>(AmbilWarnaDialog.java:84) 
01-20 10:54:56.260: E/AndroidRuntime(14407): at com.example.demofordrawline.MainActivity.openDialog(MainActivity.java:178) 
01-20 10:54:56.260: E/AndroidRuntime(14407): at com.example.demofordrawline.MainActivity.onClick(MainActivity.java:251) 
01-20 10:54:56.260: E/AndroidRuntime(14407): at android.view.View.performClick(View.java:4212) 
01-20 10:54:56.260: E/AndroidRuntime(14407): at android.view.View$PerformClick.run(View.java:17476) 
01-20 10:54:56.260: E/AndroidRuntime(14407): at android.os.Handler.handleCallback(Handler.java:800) 
01-20 10:54:56.260: E/AndroidRuntime(14407): at android.os.Handler.dispatchMessage(Handler.java:100) 
01-20 10:54:56.260: E/AndroidRuntime(14407): at android.os.Looper.loop(Looper.java:194) 
01-20 10:54:56.260: E/AndroidRuntime(14407): at android.app.ActivityThread.main(ActivityThread.java:5371) 
01-20 10:54:56.260: E/AndroidRuntime(14407): at java.lang.reflect.Method.invokeNative(Native Method) 
01-20 10:54:56.260: E/AndroidRuntime(14407): at java.lang.reflect.Method.invoke(Method.java:525) 
01-20 10:54:56.260: E/AndroidRuntime(14407): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) 
01-20 10:54:56.260: E/AndroidRuntime(14407): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
01-20 10:54:56.260: E/AndroidRuntime(14407): at dalvik.system.NativeStart.main(Native Method) 
+0

@VaishaliVaghasiya에서 시도 오류가 있습니까? 귀하의'color' 변수는 전역 적으로 또는 클래스의 내부 메소드로 선언됩니다 ?? thid party library를 사용하고 있습니까? – Piyush

+0

전체 문서 : https://github.com/yukuku/ambilwarna –

+0

전 세계적으로 색상 변수를 선언했습니다. –

답변

0

는 라인이 코드

 package yuku.ambilwarna.demo; 

    import yuku.ambilwarna.AmbilWarnaDialog; 
    import android.app.Activity; 
    import android.os.Bundle; 
    import android.view.View; 
    import android.widget.Button; 
    import android.widget.Toast; 

    public class AmbilWarnaDemoActivity extends Activity { 
     int color = 0xffffff00; 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 

      final Button button = (Button) findViewById(R.id.button1); 

      button.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        openDialog(); 
       } 
      }); 
     } 

     void openDialog() { 
      AmbilWarnaDialog dialog = new AmbilWarnaDialog(
        AmbilWarnaDemoActivity.this, color, 
        new AmbilWarnaDialog.OnAmbilWarnaListener() { 
         @Override 
         public void onOk(AmbilWarnaDialog dialog, int color) { 

          AmbilWarnaDemoActivity.this.color = color; 
          Toast.makeText(getApplicationContext(), 
            "Color is " + color, Toast.LENGTH_SHORT).show(); 
         } 

         @Override 
         public void onCancel(AmbilWarnaDialog dialog) { 
          Toast.makeText(getApplicationContext(), "cancel", 
            Toast.LENGTH_SHORT).show(); 
         } 
        }); 
      dialog.show(); 
     } 
    } 
+0

감사합니다. 나는 노력했다. 그러나 작동하지 않습니다. –

+0

그것은 내 측면 properlly –

+0

오류가 발생하지 않는거야 –

관련 문제