宝剑锋从磨砺出,梅花香自苦寒来。这篇文章主要讲述Android - onClick Listview项目显示描述和窗口/视图/页面中的链接相关的知识,希望能为你提供帮助。
我在下面有这个代码 - 在从pullparser显示所有内容后,我可以点击列表中的特定项目,它将我带到链接中的页面。但是,在单击列表中的项目时,我希望它在单独的窗口/视图/页面中显示特定于该项目的特定链接,描述等,而不是重新路由到网页/链接。因此,单击该项将在另一页上显示更多信息。
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<
?>
parent, View view, int position, long id) {Uri uri = Uri.parse(links.get(position));
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
});
我正在学习一些教程,但似乎无法使这部分工作。
谢谢
答案你有没有考虑过使用Chromes Tabs?您可以在应用内打开网络链接。
https://developer.chrome.com/multidevice/android/customtabs
另一答案您需要创建新的Activity以显示特定的链接和描述。例如,我只是假设描述也是一个arrayList并将它们作为Extra传递。
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<
?>
parent, View view, int position, long id) {Intent intent = new Intent(MainActivity.this,NewActitity.class);
intent.putExtra("url",links.get(position));
intent.putExtra("descriptions",descriptions.get(position));
startActivity(intent);
}
});
在NewAcvitiy类中,您可以获得Extra值并像这样显示它们。
class NewAcvitiy extends AppCompatActivity {TextView url, description;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_xml);
Bundle extras = getIntent().getExtras();
String urlStr = null,desStr = null;
if (extras != null) {urlStr = extras.getString("url");
desStr = extras.getString("descriptions");
}url = findViewById(R.id.url);
description = findViewById(R.id.description);
url.setText(urlStr);
description.setText(desStr);
}
}
【Android - onClick Listview项目显示描述和窗口/视图/页面中的链接】androidManifest.xml中
<
activity android:name=".NewAcvitiy"/>
推荐阅读
- Android(无需点击即可在Listview上设置焦点突出显示)
- 当ListView为空时Android显示文本
- Android Studio Project(UI的底部被切断)
- 特定号码的SMS消息未显示在其他Android设备上
- Android - 突出显示TextView中的单词()
- 带网格标题的Android网格视图
- 使用Material Design在Android Lollipop中的ListView中的活动过渡动画
- 如何解决Visual Studio Form Render异常(可以设计Form类,但不是文件中的第一类)
- 如何在WinForms中使用C#在Windows的System32目录中运行任何可执行文件