相关疑难解决方法(0)

为什么在匿名类中只能访问最终变量?

  1. a只能在这里决赛.为什么?如何aonClick()不将其保留为私有成员的情况下重新分配方法?

    private void f(Button b, final int a){
        b.addClickHandler(new ClickHandler() {
    
            @Override
            public void onClick(ClickEvent event) {
                int b = a*5;
    
            }
        });
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如何5 * a点击它返回?我的意思是,

    private void f(Button b, final int a){
        b.addClickHandler(new ClickHandler() {
    
            @Override
            public void onClick(ClickEvent event) {
                 int b = a*5;
                 return b; // but return type is void 
            }
        });
    }
    
    Run Code Online (Sandbox Code Playgroud)

java event-handling anonymous-class

341
推荐指数
7
解决办法
11万
查看次数

246
推荐指数
8
解决办法
17万
查看次数

使用MediaPlayer的OnCompletion侦听器

如何使用OnCompletion监听器播放某些音乐?我想按一个按钮转到另一个播放音乐的活动,然后在音乐播放结束时返回.我已经编写了其他的东西.我只是想弄清楚如何使用OnCompletion监听器?

android listener media-player

26
推荐指数
3
解决办法
4万
查看次数

如何正确发布Android MediaPlayer

我正在尝试在我的Android应用程序中添加一个按钮,当按下按钮时它会播放MP3.我已经让它工作了,但没有办法释放mediaPlayer对象 - 因此它在我离开活动后仍然继续播放.如果我在react()方法之外初始化MediaPlayer对象(按下按钮时会调用它),这会导致应用程序在打开活动时强制关闭.但是如果我在react()方法中初始化MediaPlayer,那么我就不能在onQuit()方法中使用mplayer.release.我在这里看不到什么?

    public void react(View view) {
    MediaPlayer mediaPlayer = MediaPlayer.create(ToBeOrNot.this, R.raw.achord);
    mediaPlayer.start();
}
protected void onStop(){
    mediaPlayer.release();
    mediaPlayer = null;
}
Run Code Online (Sandbox Code Playgroud)

因显而易见的原因不起作用

MediaPlayer mediaPlayer = MediaPlayer.create(ToBeOrNot.this, R.raw.achord);
public void react(View view) {
            mediaPlayer.start(); 
}
protected void onStop(){
    mediaPlayer.release();
    mediaPlayer = null;
}
Run Code Online (Sandbox Code Playgroud)

使它强制关闭.

更新: 这是整个java类.

public class ToBeOrNot extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_to_be_or_not);

        }
MediaPlayer mediaPlayer;

public void react(View view) {
        mediaPlayer = MediaPlayer.create(ToBeOrNot.this, R.raw.achord);
        mediaPlayer.start(); 
}
protected void onStop(){
    mediaPlayer.release();
    mediaPlayer …
Run Code Online (Sandbox Code Playgroud)

java android

14
推荐指数
1
解决办法
2万
查看次数

findViewById如何初始化视图

我刚刚为findViewById困惑的人写了一个答案,我意识到我的理解上有差距.这个问题只是为了知识和好奇心.

考虑一下:

button = (Button)findViewById(R.id.button);
Run Code Online (Sandbox Code Playgroud)

findViewById返回一个实例View,然后将其强制转换为目标类.到目前为止都很好.

要设置视图,请从相关XML声明中的参数findViewById构造一个AttributeSet它传递给构造函数的参数View.

然后我们将View实例转换为Button.

如何将AttributeSetget传递给Button构造函数?

[编辑]

所以我很困惑:).重点是当布局膨胀时,视图层次结构已经包含视图后代类的实例.findViewById只返回对它的引用.当你想到它时显而易见 - doh ..

android

9
推荐指数
2
解决办法
8949
查看次数

按下按钮播放随机声音

我希望我的应用程序在用户点击按钮时播放随机声音.所以我不想要android自然的声音,我想每次用户点击一个按钮时播放我自己的声音.有谁知道这个问题的解决方案.

android button soundpool android-activity

2
推荐指数
1
解决办法
2035
查看次数