2 a460670026 a460670026 于 2016.04.17 10:46 提问

关于安卓中Handler的问题

我想让图片每一秒换一次

package com.example.handler;

import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
private ImageView imageView;
private TextView textView;
private Handler handle=new Handler();
private int anInt[]={R.drawable.f1,R.drawable.f2,R.drawable.f3,R.drawable.f4};
private int index;
private MyRunnable myRunnable=new MyRunnable();
class MyRunnable implements Runnable{
@Override
public void run() {
index++;
index=index%4;
imageView.setImageResource(anInt[index]);
handle.postDelayed(myRunnable,1000);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView= (TextView) findViewById(R.id.tv);
imageView= (ImageView) findViewById(R.id.imageView);
handle.postDelayed(myRunnable,1000);

}

}

然后运行结果报错
Gradle Build:
Information:Gradle tasks [:app:assembleDebug]
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72311Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42311Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources
AAPT err(Facade for 1575739509): libpng error: Not a PNG file
AAPT err(Facade for 16692146): libpng error: Not a PNG file
Error:Execution failed for task ':app:mergeDebugResources'.

Some file crunching failed, see logs for details
Information:BUILD FAILED
Information:Total time: 3.414 secs
Information:1 error
Information:0 warnings
Information:See complete output in console

求大神支招

4个回答

qq_28042463
qq_28042463   2016.04.17 11:04
已采纳

你注意是不是.9图,直接copy到AS中的.9图如果没有图片说明这周围
4个黑色的线是认为.9图是错误的

qq_28042463
qq_28042463 回复a460670026: 这是AS中常见的问题,见多了就好了
大约 2 年之前 回复
a460670026
a460670026 搞定了,多谢大神
大约 2 年之前 回复
Wei_Smile
Wei_Smile   2016.04.17 10:49

AAPT err(Facade for 1575739509): libpng error: Not a PNG file
AAPT err(Facade for 16692146): libpng error: Not a PNG file
看这两行,查查你的图片是不是png格式的

a460670026
a460670026 是Png格式的没错,我用的IDE是Androidstudio。我直接从copy到里面的drawable。这样应该不会出什么问题吧
大约 2 年之前 回复
a460670026
a460670026   2016.04.17 10:54

是Png格式的没错,我用的IDE是Androidstudio。我直接从copy到里面的drawable。这样应该不会出什么问题吧

ch3265936
ch3265936   2016.07.29 13:38

你的图片问题 我写了一下你的代码 正常播放 图片

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
关于安卓中的Handler
Handler是用来线程间传递数据,在主线程将Handler实例化,子线程《工作线程,执行较长的耗时业务》可以通过Handler发送数据到主线程,当Looper轮询到Message Queue时,将消息交给 Handler进行处理,通过回调handleMessage(Message msg);方法,将子线程的数据更新到UI界面; 通过Handler处理多线程机制,不影响用户的其他操作,不阻塞
一道关于Handler的面试题
题目如下:一个很简单的需求:点击页面上的按钮后更新TextView的内容给出如下代码,请找出如下代码中可以优化的地方:public class HandlerActivity extends AppCompatActivity { private TextView mTextMessage; private Button button; private UpdateHandler
安卓关于handler的使用
安卓的线程使用方法,不要错过哦,列举出详细的代码,经过本人测试,完全可以在安卓2.0以上任何版本使用
关于Handler导包问题
上班中……,Boss让搭个框架,所以要过一段时间才能更新博客!同时要求自己写的博客质量越来越高。努力…… java.util.logging.Handler comes from vanilla Java. It is a superclass to various types of logging endpoint (socket, file …) 处理来自香草Java。这是一个超类,各种类型
安卓Handler
1.什么是Handler? Handler是安卓SDK中处理异步消息的核心类。 Handler的作用是让子线程通过与主线程通信来更新UI界面。 2.Handler的运行机制 创建一个Handler对象,系统就把Handler对象、UI线程和UI线程的消息队列捆绑起来。 当我们在线程处理完数据后,可以通过Handler对象将消息发出。 消息将会会按顺序添加到消息队列中。 UI线程中的L...
安卓handler
handler是一种更新UI,传递处理消息的机制. 因为在非主线程之中不可以直接更新UI,所以需要handler 机制. handler使用的小例子: 首先在activity类中实例化一个handler: private Handler handler=new Handler(){ public void handleMessage(){ //在这里覆盖该方法.实现你要处理消
关于Handler与AlertDialog问题
http://blackriver.to/2012/08/android-annoying-exception-unable-to-add-window-is-your-activity-running/ http://www.linuxidc.com/Linux/2011-10/46150.htm 用try  catch来捕获异常
关于handler内存泄露的问题
在使用Handler更新UI的时候,我是这样写的:public class SampleActivity extends Activity {private final Handler mLeakyHandler = new Handler() { @Override public void handleMessage(Message msg) { // TODO
Handler——关于Handler技术
转自http://blog.csdn.net/hudashi/article/details/6896375 一、Handler与Thread的区别 默认情况下Handler与其创建者处于同一线程,如果Handler里面做耗时的动作,调用者线程会阻塞。 Android UI操作不是线程安全的,并且这些操作必须在UI线程中执行。 Android提供了几种基本的可以在其他线程中处理UI操作
关于Handler的简单总结
1.Handler的主要作用:      1.在新启动的线程当中发送消息。      2.在主线程中获取并处理消息。 2.为什么要使用Handler?     如果不用handler发送消息,然后更新UI可以么?     是不行的。     Android在设计时就封装了一套消息发送,传递,处理机制,如果不遵循这样的机制,就没有办法更新UI,     就会抛出异常信息。 3.Han