1

リスト項目があり、その中に 3 つの項目があります。私は次のことをしたい: それらの 1 つをクリックすると、Google にリダイレクトされ、他のものをクリックすると 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 に答える