Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法在未调用looper.prepare的线程内创建处理程序_Java_Android_Loops_Handler - Fatal编程技术网

Java 无法在未调用looper.prepare的线程内创建处理程序

Java 无法在未调用looper.prepare的线程内创建处理程序,java,android,loops,handler,Java,Android,Loops,Handler,我有一个问题,那个就是我在主题中写的那个错误。我有三个类,一个是“主”类,另一个是类铺装层,它应该根据类级别中的字符串在屏幕上添加铺装层对象。我该怎么做才能将该方法保留在铺装层类中并消除该错误。我在这里申请资料来源: 开始: 当我的Android库被一些本地引擎(比如Unity)使用时,我遇到了这些问题 这是我在不确定代码何时在需要循环器的线程上执行时使用的方法: if (Looper.myLooper() == null) { Looper.prepare();

我有一个问题,那个就是我在主题中写的那个错误。我有三个类,一个是“主”类,另一个是类铺装层,它应该根据类级别中的字符串在屏幕上添加铺装层对象。我该怎么做才能将该方法保留在铺装层类中并消除该错误。我在这里申请资料来源: 开始:


当我的Android库被一些本地引擎(比如Unity)使用时,我遇到了这些问题

这是我在不确定代码何时在需要循环器的线程上执行时使用的方法:

    if (Looper.myLooper() == null) {
        Looper.prepare();
    }

需要明确的是,上面的代码需要在线程的run()方法中执行。
package com.example.simplerpgdorid;

import com.example.simplerpgdorid.Start.OurView;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.util.Log;

public class Pavement extends Activity implements Locatable{

    OurView v;
    Bitmap b = null;
    int x, y, size;
    boolean isInited = false,   isDeInited;

    public Pavement(int x, int y, Bitmap bit){
        this.x = x * 32;
        this.y = y * 32;
        this.b = bit;
    }



    public void init(String[] xlevel){
        Start.pavements.add(new Pavement(32, 32, getbitmap()));
        Start.pavements.add(new Pavement(52, 52, getbitmap()));
        Start.pavements.add(new Pavement(22 , 66, getbitmap()));
        if(!isInited){
            for(int z = 0; y < Level.lvl.length; y++){
                for(int s = 0; x < Level.lvl.length; x++){
                    if(xlevel[z].charAt(s) == 'p'){
                        Start.pavements.add(new Pavement(z, s, getbitmap()));

                    }
                    Start.gowno ++;
                }
            }
        }   
        isInited = true;
    }

    public void deInit(String[] xlevel)
    {
        if(!isDeInited)
        for(int y = 0; y < Start.pavements.size(); y++)
        {
            Start.pavements.get(y).x = -100;
            Start.pavements.get(y).y = -100;
        }
        isDeInited = true;
    }

    @Override
    public void draw(Canvas canvas) {
        // TODO Auto-generated method stub
        canvas.drawBitmap(getbitmap(), x, y, null);
    }
    @Override
    public void isInited() {
        // TODO Auto-generated method stub
        isInited = false;
    }
    @Override
    public void isDeInited() {
        // TODO Auto-generated method stub
        isDeInited = false;
    }

    @Override
    public Bitmap getbitmap() {
        // TODO Auto-generated method stub
        Bitmap bmp = null;
        bmp = b;
        return bmp;
    }

    @Override
    public void setBitmap(Bitmap bmp) {
        // TODO Auto-generated method stub
        this.b = bmp;
    }

}
package com.example.simplerpgdorid;

public class Level {
    public static String lvl[][] = new String[2][];
    public Level(){
        lvl[0] = new String[]{
                "...p.....p",
                "...p.....p",
                "...p.....p",
                "...p.....p",
                "...p.....p",
                "...p.....p",
                "...p.....p",
                "...p.....p",
                "...p.....p",
                "...p.....p",
            };
        lvl[1] = new String[]{
                "...p.....p",
                "...p.....p",
                "...p.....p",
                "...p.....p",
                "...p.pp..p",
                "...p.....p",
                "...p.....p",
                "...p.....p",
                "...p.....p",
                "...p.....p",
            };
    }
}
    if (Looper.myLooper() == null) {
        Looper.prepare();
    }