2015-11-13 41 views
1

顯示BMP顏色值,我想要得到的顏色值BMP圖像顯示在TextView的如何在TextView的

這是我的BMP圖像,大小爲16X24

enter image description here

我試圖做一個按鈕時該按鈕被按下的bmp圖像的顏色值將顯示在TextView的

但是按壓按鈕程序後墜毀

public class MainActivity extends Activity 
{ 
    int mArrayColor[]; 
    int count = 0; 
    int color; 

    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     final TextView show = (TextView)findViewById(R.id.show); 
     Button btn = (Button)findViewById(R.id.bitbtn); 

     btn.setOnClickListener(new Button.OnClickListener() 
     { 
      public void onClick(View v) 
      { 
       Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.two); 
       int wid = bitmap.getWidth(); 
       int hei = bitmap.getHeight(); 


       for(int i=0;i<wid;i++) 
       { 
        for(int j=0;j<hei;j++) 
        { 
         color=bitmap.getPixel(i, j); 
         mArrayColor[count] = color; 
         count++; 
        } 
       } 
       show.setText(Arrays.toString(mArrayColor)); 
      } 
     }); 
    } 
} 

這是爲什麼?

這是我的日誌

11-13 15:54:56.081: D/AndroidRuntime(11262): Shutting down VM 
11-13 15:54:56.081: W/dalvikvm(11262): threadid=1: thread exiting with uncaught exception (group=0x41c8bda0) 
11-13 15:54:56.081: E/AndroidRuntime(11262): FATAL EXCEPTION: main 
11-13 15:54:56.081: E/AndroidRuntime(11262): Process: com.example.bitmapfactory, PID: 11262 
11-13 15:54:56.081: E/AndroidRuntime(11262): java.lang.NullPointerException 
11-13 15:54:56.081: E/AndroidRuntime(11262): at com.example.bitmapfactory.MainActivity$1.onClick(MainActivity.java:41) 
11-13 15:54:56.081: E/AndroidRuntime(11262): at android.view.View.performClick(View.java:4623) 
11-13 15:54:56.081: E/AndroidRuntime(11262): at android.view.View$PerformClick.run(View.java:19230) 
11-13 15:54:56.081: E/AndroidRuntime(11262): at android.os.Handler.handleCallback(Handler.java:733) 
11-13 15:54:56.081: E/AndroidRuntime(11262): at android.os.Handler.dispatchMessage(Handler.java:95) 
11-13 15:54:56.081: E/AndroidRuntime(11262): at android.os.Looper.loop(Looper.java:157) 
11-13 15:54:56.081: E/AndroidRuntime(11262): at android.app.ActivityThread.main(ActivityThread.java:5335) 
11-13 15:54:56.081: E/AndroidRuntime(11262): at java.lang.reflect.Method.invokeNative(Native Method) 
11-13 15:54:56.081: E/AndroidRuntime(11262): at java.lang.reflect.Method.invoke(Method.java:515) 
11-13 15:54:56.081: E/AndroidRuntime(11262): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265) 
11-13 15:54:56.081: E/AndroidRuntime(11262): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081) 
11-13 15:54:56.081: E/AndroidRuntime(11262): at dalvik.system.NativeStart.main(Native Method) 

回答

1

NullPointerException異常11-13 15:54:56.081:E/AndroidRuntime(11262):
在com.example.bitmapfactory.MainActivity $ 1.onClick

因爲mArrayColornull

需要mArrayColor陣列添加條目之前與大小進行初始化。

如果項目大小是不知道,然後使用ArrayList代替Array

+0

非常感謝你:) –