2017-04-07 6 views
0

私は、異なるチームの紋章を持つアクティビティを1つクリックするとコンテキストメニューが表示され、ブラウザ上でチームウィキペディアページを開くことができます。私はImageViewに応じて別のコンテキストメニューを作成することができましたが、リンクをどのように渡すのか分かりません。どんな助け?ImageViewに応じてコンテキストメニュー内の別のリンクがクリックされました

Context_menu.xml

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:id="@+id/link" 
     android:title="Open Wikipedia Page" 
     /> 
</menu> 

チームクラス

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo){ 
      super.onCreateContextMenu(menu,v,menuInfo); 
      MenuInflater inflater = getMenuInflater(); 
      switch (v.getId()){ 
       case R.id.atalanta: 
        menu.setHeaderTitle("Atalanta"); 
        inflater.inflate(R.menu.context_menu,menu); 
        break; 
       case R.id.bologna: 
        menu.setHeaderTitle("Bologna"); 
        inflater.inflate(R.menu.context_menu,menu); 
        break; 
       case R.id.cagliari: 
        menu.setHeaderTitle("Cagliari"); 
        inflater.inflate(R.menu.context_menu,menu); 
        break; 
       case R.id.chievo: 
        menu.setHeaderTitle("Chievo"); 
        inflater.inflate(R.menu.context_menu,menu); 
        break; 
} 

答えて

0

あなたはあなたのコードがswitchブロックで入手できますか場所に基づいて、コンテキストメニューのヘッダーのタイトルを設定することができるしている場合、あなたは可能ですリンクにString変数を設定することもできます。 switchの後に新しいIntentを作成し、リンクを渡してから開始することができます。これらはすべて次のようになります。

String link = ""; 
//... 
switch (v.getId()) { 
    case R.id.atlanta: 
     menu.setHeaderTitle("Atalanta"); 
     link = "https://whateveryouwant.com" 
     inflater.inflate(R.menu.context_menu,menu); 
     break; 
    //do this with every case 
} 
//... 
Intent i = new Intent(Intent.ACTION_VIEW); 
i.setData(Uri.parse(link)); 
startActivity(i); 
関連する問題