1

我有一个列表项,其中有 3 个项目。我想做以下事情:当我点击其中一个时,我被重定向到谷歌,当我点击另一个时,我去 Facebook 等等。在我的代码中,当我单击 3 个列表项中的任何一个时,我会转到相同的地址:google。如何为不同的列表项分配不同的链接?这是我的代码。

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // Listimizde kaç tane eleman olduğunu bulmak için bunu kullanıyoruz
    ListView listView = (ListView) findViewById(R.id.linkList);

    String[] links = new String[] { "http://www.facebook.com",
            "http://www.twitter.com", "http://www.hurriyet.com.tr" };

    // ArrayAdapter, bu listviewin nasıl görüneceğini belirtir. ilk argument
    // this, yani bu list
    // 2. argument list viewin şekli, yani simple dropdown şeklinde olsun,
    // 3. argument de links
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, links);

    listView.setAdapter(adapter); // start the adapter for the list view
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapter, View view, int pos,
                long id) {
            // SO listener
            Intent myWebLink = new Intent(
                    android.content.Intent.ACTION_VIEW);
            myWebLink.setData(Uri.parse("http://www.google.com"));
            startActivity(myWebLink);
        }
    });

    // OR listener

}

谢谢

4

2 回答 2

3

您可以通过职位 ID 实现这一目标

switch (pos){

case 1:
//go to google
break;
case 2:
//go to facebook
break;
default:
//where ever you want
break;
}
于 2013-03-12T21:24:34.373 回答
1

如果你有一个固定的顺序,你可以评估pos参数

switch (pos) {
  case 1 :  myWebLink.setData(Uri.parse("http://www.google.com")); break;
  case 2 :  myWebLink.setData(Uri.parse("http://www.facebook.com")); break;
  case 3 :  // do something totally different
}

如果您不能依赖该位置或者您只有链接(并且可能有很多链接),您可以使用 AdapterView:

String url = (String) adapter.getItemAtPosition(pos);
myWebLink.setData(Uri.parse(url));

希望这可以帮助!

于 2013-03-12T21:30:38.393 回答