gpt4 book ai didi

android - 在 ItemClickListener 上打开视频

转载 作者:行者123 更新时间:2023-11-29 21:50:23 26 4
gpt4 key购买 nike

我试图在用户点击列表中的项目时打开视频。我有 ListView 工作的代码,以及打开视频的代码。我只是不知道如何将两者结合起来。

这是我打开视频的代码。

    String video_path = "http://www.youtube.com/watch?v=qrEUBl2pacU";
Uri uri = Uri.parse(video_path);

uri = Uri.parse("vnd.youtube: " + uri.getQueryParameter("v"));

Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

是否可以将此代码放入 onItemClick 中?

编辑:这是全类。我感觉我的代码不正确,因为它都在 onCreate 中。但是,我遵循了一个教程,这就是它所在的地方。

public class Videos extends Activity{

private ListView lv;
String videoNames[] = {"Doctor Who Trailer", "T+S - Northshore", "Foo Fighters - Everlong"};

public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.videos);
lv = (ListView) findViewById(R.id.videosListView);

lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, videoNames));
lv.setTextFilterEnabled(true);

lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?>Videos, View v, int position, long id) {


String video_path = "http://www.youtube.com/watch?v=qrEUBl2pacU";
Uri uri = Uri.parse(video_path);

uri = Uri.parse("vnd.youtube: " + uri.getQueryParameter("v"));

Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
};
});
}
}

最佳答案

这就是您的 onclicklistener 的样子。试试这个代码:

    final ArrayAdapter<String> aa = new ArrayAdapter<String>(this,R.layout.list_view,listItems);
setListAdapter(aa);

//This creates a listener for the Files listed
getListView().setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String url = aa.getItem(position);
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
return false;
}
});

更新:我建议对键值对使用 HashMap 。类似的东西(我没有编译这个):

HashMap<String, String> hm = new HashMap<String, String>();
hm.put("videoText1", "youtube_link1");
hm.put("videoText2", "youtube_link2");
hm.put("videoText3", "youtube_link3");

然后您可以使用 hm.keySet() 获取所有 ListView 集。

ArrayList<String> listItems = new ArrayList<String>(hm.keySet());
final ArrayAdapter<String> aa = new ArrayAdapter<String>(this,R.layout.list_view,listItems);
setListAdapter(aa);

最后使用 Hashmap 查找 youtube 链接:

String url = hm.get(aa.getItem(position));

....

关于android - 在 ItemClickListener 上打开视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14553801/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com