繁体   English   中英

如何从列表视图 Android-Studio 设置文本

[英]How to set text from listview Android-Studio

我正在使用 ListView 在 Android Studio 上制作专辑音乐应用程序。 现在我想制作正在使用 textview 播放的音乐通知。 如果单击列表视图中的项目,则文本视图将更改为列表视图中写入的内容。 谁能帮我? 这是我的代码。 感谢您的关注。 :)

import android.content.pm.ActivityInfo;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.google.android.gms.ads.AdRequest;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;

import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;
import com.google.android.gms.ads.MobileAds;

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

public class Main2Activity extends AppCompatActivity implements 
AdapterView.OnItemClickListener {


ListView songListView;
MediaPlayer player;


int[] IMAGES = {R.drawable.adzan_mp3_offline_1, R.drawable.adzan_mp3_offline_4};

String[] songs = {"song 1","song 2"};

int[] ids={R.raw.adzan_mp3_offline_turkey_a,R.raw.adzan_mp3_offline_turkey_b};


private AdView mAdview;
private InterstitialAd mInterstitialAd;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);
    this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);



    songListView = findViewById(R.id.list);
    ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,songs);
    songListView.setAdapter(adapter);
    songListView.setOnItemClickListener(this);




}

@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

    if (player!=null && player.isPlaying())
        player.stop();

    player=MediaPlayer.create(this,ids[i]);
    player.start();



}

@Override
public void onBackPressed ()
{
    if (player != null)
        player.stop();
    super.onBackPressed();
}

@Override
public void onPause ()
{
    if (player != null)
    {
        player.pause();
        player.stop();
    }
    super.onPause();
}

}

要获取单击的侦听器的文本,请使用此

public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
String currentText = parent.getItemAtPosition(position); // Assuming you've used only string
}

另一种让项目被点击的方法是将位置传递给 Adapter 并从 Adapter 中获取选定的对象。 然后您可以以任何您喜欢的方式使用所选对象。 希望能帮助到你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM