[Android]从另一个在asynctask上运行的类更新textview吗?

米格尔·安格尔·桑切斯·布拉沃

我的问题是这个,我有我的主类,她命令运行带有URL音频的AyncTask,最后重播下一个音频,我的问题是,我在另一个类中有播放器,因为这样做是TextView更新每一个实现播放的歌曲的网址吗?这是我的代码:

活动主体:AsyncTask

public class Repoduce extends AsyncTask<String, Integer, String> {
    @Override
    protected void onPreExecute() {
        //mostrarNotificacion("Reproduciendo...");
    }

    @Override
    protected String doInBackground(String... strings) {
        String url = strings[0];
        try {
            PlayAudioManager.playAudio(getApplicationContext(), url, Lista);
            runOnUiThread(new Runnable() {
                              @Override
                              public void run() {
                                  //titulo.setText(guardaDatos.getArtista());
                                  titulo_cancion.setText(guardaDatos.getArtista());
                                  Picasso.with(getApplicationContext()).load(guardaDatos.getCoverURL()).into(caratula);
                              }
                          }

            );
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);
    }
}

在这里与媒体播放器一起上课

 public static void playAudio(final Context context, final String url, String currentTrack) throws Exception {
    mmr = new FFmpegMediaMetadataRetriever();
    listaReproduccion a = new listaReproduccion(context);
    //am = MusicPlayer.getAm();
    //am.setMode(AudioManager.STREAM_MUSIC);
    codigos = a.getArray("Codigos");
    nombres = a.getArray("Nombres");
    artista = a.getArray("Artista");
    //guardaDatos.setArtista(nombres.get(cancion));
    setIsPlaying(true);

                mediaPlayer = MediaPlayer.create(context, Uri.parse(codigos.get(cancion)));
                //coverDeezer.caratulaArtista(artista.get(cancion));
                mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                    @Override
                    public void onCompletion(MediaPlayer mp) {
                        if (cancion <= codigos.size()) {
                            try {
                                cancion++;
                                playAudio(context, "", "lista");
                                Log.i("CONTADOR2", String.valueOf(cancion));
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                        }

我在activityclass中有textview,如何自动从班级播放器更新它?

虹膜路易斯

我想如果您想在另一个活动中更新textview,则可以在下面找到一些解决方案:

1-创建接口侦听器捕获事件更改音频以更新TextView。

2-使用广播接收器。

3-使用处理程序消息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从另一个类调用AsyncTask吗?

来自分类Dev

Android-如何从另一个类更新textview

来自分类Dev

在另一个类的UI线程上运行

来自分类Dev

android:从另一个类中的另一个线程更新UI

来自分类Dev

另一个AsyncTask中的Android AsyncTask

来自分类Dev

AsyncTask处理另一个类收到的消息并更新进度

来自分类Dev

从另一个活动运行 AsyncTask

来自分类Dev

在mainactivity中从另一个类执行asynctask

来自分类Dev

从另一个类传递和设置TextView

来自分类Dev

android 视图未从另一个类和另一个线程更新

来自分类Dev

Android批注问题从另一个类访问TextView

来自分类Dev

从另一个活动更新TextView

来自分类Dev

从另一个活动更新 TextView

来自分类Dev

在另一个类中运行循环时更新View?

来自分类Dev

是否可以在另一个方法“ AsyncTask”中运行“ AsyncTask”方法?

来自分类Dev

从另一个类更新WinForm上的文本框

来自分类Dev

Android从另一个活动更改TextView

来自分类Dev

在TextView Android中添加另一个Word

来自分类Dev

从android中的另一个活动设置textview

来自分类Dev

从另一个类运行代码

来自分类Dev

如何从另一个类运行方法?

来自分类Dev

如何从另一个类运行方法

来自分类Dev

从另一个类运行代码

来自分类Dev

从MainActivity在另一个类中运行代码

来自分类Dev

在另一个类中使用JSONArray吗?

来自分类Dev

如何从另一个类运行方法?Java-Android

来自分类Dev

在另一个ViewModel的PropertyChanged上更新另一个ViewModel

来自分类Dev

从另一个Java类更新数组

来自分类Dev

如何从另一个类更新StatusStripLabel?