小编No *_*ame的帖子

在LatinIME(AOSP)中膨胀类EmojiPalettesView时出错

我查看了Google LatinIME.然后我将java文件夹导入Android Studio.

我运行它,设置它(我在手机设置中选择了一个键盘,我选择了语言布局)但是在测试期间(通过关注edittext)application崩溃时出现错误:

android.view.InflateException:二进制XML文件行#29:二进制XML文件行#21:错误充气类com.android.inputmethod.keyboard.emoji.EmojiPalettesView

这是完整的StackTrace:

致命异常:主要进程:com.android.inputmethod.latin,PID:19332 android.view.InflateException:二进制XML文件行#29:二进制XML文件行#21:错误导致类com.android.inputmethod.keyboard.emoji. EmojiPalettes在android.view.LayoutInflater.inflate(LayoutInflater.java:539)的android.view.LayoutInflater.inflate(LayoutInflater.java:423)中的android.view.LayoutInflater.inflate(LayoutInflater.java:374)的com.android .inputmethod.keyboard.KeyboardSwitcher.onCreateInputView(KeyboardSwitcher.java:464)位于android.inputmethodservice.InputMethodService.updateInputViewShown(InputMethodService.java:1117)的com.android.inputmethod.latin.LatinIME.onCreateInputView(LatinIME.java:752) android.inputmethodservice.InputMethodService.showWindowInner(InputMethodService.java:1473)在android.inputmethodservice.InputMethodService.showWindow(InputMethodService.java:1447)的android.inputmethodservice.InputMethodService $ InputMethodImpl.showSoftInput(InputMethodService.java:437)at at android.inputmethodservice.IInputMethodWrapper.executeMessage(IInputMethodWrapper.java:203)位于android.os.Handler.dispatchMessage(Handler.java:102)的com.android.internal.os.HandlerCaller $ MyHandler.handleMessage(HandlerCaller.java:37)在android.os.Looper.loop(Looper.java:148)的android.app.ActivityThread.main(ActivityThread.java:5551),位于com.android.internal的java.lang.reflect.Method.invoke(Native Method) .os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:730)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)引起:android.view.InflateException:二进制XML文件行#21:在android.view.LayoutInflater的android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)的android.view.LayoutInflater.createView(LayoutInflater.java:645)中输入com.android.inputmethod.keyboard.emoji.EmojiPalettesView类错误.parseInclude(LayoutInflater.java:941)位于android.view.LayoutInflater.rInflateCh的android.view.LayoutInflater.rInflate(LayoutInflater.java:831)位于android.view.LayoutInflater.inflate(LayoutInflater.java:423)的android.view.LayoutInflater.inflate(LayoutInflater.java:514)的android.view.LayoutInflater.inflate(LayoutInflater.java)中的ildren(LayoutInflater.java:798) :374)at com.android.inputmethod.keyboard.KeyboardSwitcher.onCreateInputView(KeyboardSwitcher.java:464) 

问题: 帮帮我,我做错了什么?

java android android-source

12
推荐指数
0
解决办法
265
查看次数

表面纹理不能为空

我尝试播放一些视频。但是一旦我重现第一个视频就会出现错误:

java.lang.RuntimeException:无法启动活动 ComponentInfo{cpm.example.advplayer/com.example.advplayer.ui.MainActivity}:java.lang.IllegalArgumentException:surfaceTexture 不能为 null

我在playerSetup()方法中写:

public void playerSetup(Video video) {
    try {
        mMediaPlayer = new MediaPlayer();
        mMediaPlayer.setDataSource(Application.video_path + video.getName());
        mMediaPlayer.setSurface(new Surface(savedSurfaceTexture));
        mMediaPlayer.prepare();
        mMediaPlayer.setOnBufferingUpdateListener(this);
        mMediaPlayer.setOnCompletionListener(this);
        mMediaPlayer.setOnPreparedListener(this);
        mMediaPlayer.setOnVideoSizeChangedListener(this);
        mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
        adjustAspectRatio(mMediaPlayer.getVideoWidth(), mMediaPlayer.getVideoHeight());
        mMediaPlayer.start();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

@Override
public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int i, int i1) {
    savedSurfaceTexture = surfaceTexture;
}
Run Code Online (Sandbox Code Playgroud)

onSurfaceTextureAvailable()覆盖方法中

如何做到这一点,您可以播放视频并且TextureView不会为空?

java android

7
推荐指数
0
解决办法
1966
查看次数

Activity 中的转换接口

问题是,在这之前,我实现了interfacesActivity,值中设置的方法Fragment。也就是在onAttach()初始化之后,再在哪里调用interface被调用的方法。例子:

interface OnNumberChangeCallback{
    void onSuccess();
}
Run Code Online (Sandbox Code Playgroud)

Fragment

OnNumberChangeCallback onNumberChangeCallback;

onAttach(Context context){
    onNumberChangeCallback = (OnNumberChangeCallback) context;
}
Run Code Online (Sandbox Code Playgroud)

等等。

我想初始化interfacein BaseActivity。并在Fragment实现这一点interface。当我尝试以onCreate这种方式在方法中初始化时:

onNumberChangeCallback = (OnNumberChangeCallback) this;
Run Code Online (Sandbox Code Playgroud)

我收到错误:

BaseActivity cannot be cast to OnNumberChangeCallback
Run Code Online (Sandbox Code Playgroud)

问题:如何正确初始化interfacein Activity

java android

3
推荐指数
1
解决办法
4095
查看次数

标签 统计

android ×3

java ×3

android-source ×1