Android - onClick Listview项目显示描述和窗口/视图/页面中的链接

问题描述 投票:-1回答:2

我在下面有这个代码 - 在从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);

            }
        });

我正在学习一些教程,但似乎无法使这部分工作。

谢谢

java android android-listview
2个回答
0
投票

你有没有考虑过使用Chromes Tabs?您可以在应用内打开网络链接。

https://developer.chrome.com/multidevice/android/customtabs


0
投票

您需要创建新的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);


}
}

AndroidManifest.xml中

<activity android:name=".NewAcvitiy"/>
© www.soinside.com 2019 - 2024. All rights reserved.