【问题标题】:error java app Android错误java应用程序Android
【发布时间】:2015-12-30 12:32:48
【问题描述】:

我有一个问题,我不明白原因。我正在 Linux 上开发 Android Studio。位图大小为 10x10 像素。我在谷歌搜索,但它什么也没给我。如果有人可以帮助我,我将不胜感激。

这个问题是这样的:

"Bitmap suweren = BitmapFactory.decodeResource(getResources(), R.drawable.suweren);"

这是错误日志:

"12-30 07:16:36.125 9336-9336/com.example.szczesciarz.sawa E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.szczesciarz.sawa, PID: 9336
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.szczesciarz.sawa/com.example.szczesciarz.sawa.MainActivity}: java.lang.NullPointerException
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
    at android.app.ActivityThread.access$800(ActivityThread.java:135)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:136)
    at android.app.ActivityThread.main(ActivityThread.java:5001)
    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:785)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
    at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.NullPointerException
    at android.support.v7.widget.ToolbarWidgetWrapper.<init>(ToolbarWidgetWrapper.java:98)
    at android.support.v7.widget.ToolbarWidgetWrapper.<init>(ToolbarWidgetWrapper.java:91)
    at android.support.v7.app.ToolbarActionBar.<init>(ToolbarActionBar.java:73)
    at android.support.v7.app.AppCompatDelegateImplV7.setSupportActionBar(AppCompatDelegateImplV7.java:205)
    at android.support.v7.app.AppCompatActivity.setSupportActionBar(AppCompatActivity.java:99)
    at com.example.szczesciarz.sawa.MainActivity.onCreate(MainActivity.java:19)
    at android.app.Activity.performCreate(Activity.java:5231)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) 
    at android.app.ActivityThread.access$800(ActivityThread.java:135) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:136) 
    at android.app.ActivityThread.main(ActivityThread.java:5001) 
    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:785) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
    at dalvik.system.NativeStart.main(Native Method) 
12-30 07:21:36.565 9336-9336/com.example.szczesciarz.sawa I/Process: Sending signal. PID: 9336 SIG: 9"

主要活动代码:

package com.example.szczesciarz.sawa;

import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(new GameView(this));
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                    .setAction("Action", null).show();
        }
    });
}

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

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}
}

游戏视图代码:

package com.example.szczesciarz.sawa;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.view.View;

class GameView extends View{
public GameView(Context context){
    super(context);
}

@Override
public void onDraw(Canvas canvas ){
    Bitmap suweren = BitmapFactory.decodeResource(Context.getResources(), R.drawable.suweren);
    canvas.drawColor(Color.BLACK);
    canvas.drawBitmap(suweren, 0, 0, null);
}
}

谢谢):-

【问题讨论】:

  • 请发布该活动的代码。从日志中,该问题与 ToolbarWidgetWrapper 有关
  • 错误似乎在代码的其他部分。分享代码来解决它。
  • 这是 GameView.java 的代码
  • 包 com.example.szczesciarz.sawa;导入android.content.Context;导入android.graphics.Bitmap;导入android.graphics.BitmapFactory;导入android.graphics.Canvas;导入android.graphics.Color;导入android.view.View;类 GameView 扩展 View{ public GameView(Context context){ super(context); } @Override public void onDraw(Canvas canvas){ Bitmap suweren = BitmapFactory.decodeResource(getResources(), R.drawable.suweren); canvas.drawColor(Color.BLACK); canvas.drawBitmap(suweren, 0, 0, null); } }
  • 原谅如此难以辨认,直到我在这里开始帐户。

标签: java android linux


【解决方案1】:

找不到工具栏:

工具栏工具栏 = (Toolbar) findViewById(R.id.toolbar);

所以当你打电话时

setSupportActionBar(工具栏);

你有一个 NullPointerException 在 android.support.v7.app.AppCompatActivity.setSupportActionBar(AppCompatActivity.java:99)

尝试删除 setSupportActionBar(toolbar)

【讨论】:

    【解决方案2】:

    确保您的布局文件包含工具栏或您已包含工具栏布局。

    当你的布局文件不包含id时会发生此异常,因此android无法从该id获取视图并在调用findViewById(R.id.toolbar)时返回null;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多