2017-07-12 27 views
0

私はListViewを持っています。このListViewには配列があり、配列には5つの番号があります。まず、最初のアクティビティでは、ユーザーが5つの数値を選択し、5つの数値が2番目のアクティビティでListViewに移動します。コンテキストメニューで数字をクリックすると、数字5つの数字でIntentを開始したいと考えています。インテントはそのポジションを開始します。しかし、なぜ私は選択された番号を得ることができないのですか?ContextMenuのインテントのListViewのtextviewを取得するには?

public class AnaMenu extends AppCompatActivity { 
    public static final int MENU_Ara = Menu.FIRST+1; 
    int sayı = 50; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_ana_menu); 
     ListView liste = (ListView) findViewById(R.id.oyun); 

     OyunTextView oyunTextView = new OyunTextView(); 
     liste.setAdapter(oyunTextView); 
     registerForContextMenu(liste); 
    } 

    class OyunTextView extends BaseAdapter { 

     @Override 
     public int getCount() { 
      Intent i = getIntent(); 
      final ArrayList<String> secilmis = i.getStringArrayListExtra("listem"); 

      return secilmis.size(); 
     } 

     @Override 
     public Object getItem(int position) { 
      return null; 
     } 

     @Override 
     public long getItemId(int position) { 
      return 0; 
     } 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      convertView = getLayoutInflater().inflate(R.layout.oyuntextview , null); 
      TextView namesbox = (TextView)convertView.findViewById(R.id.isim); 
      TextView sayılar = (TextView)convertView.findViewById(R.id.sayı); 
      Intent i = getIntent(); 
      final ArrayList<String> secilmis = i.getStringArrayListExtra("listem"); 
      namesbox.setText(secilmis.get(position)); 

      sayılar.setText(String.valueOf(sayı)); 
      if (sayı == 50) { 
       sayılar.setTextColor(getResources().getColor(R.color.elli));} 
       return convertView; 
      } 
     } 

     @Override 
     public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { 
      menu.add(Menu.NONE, MENU_Ara, Menu.NONE, "Ara"); 

      super.onCreateContextMenu(menu, v, menuInfo); 
     } 

     @Override 
     public boolean onContextItemSelected(MenuItem item) { 
      AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); 

      Intent i = getIntent(); 
      secilmis = i.getStringArrayListExtra("listem"); 

      switch (item.getItemId()) { 
       case MENU_Ara: 
        Intent ara = new Intent(Intent.ACTION_DIAL); 

        ara.setData(Uri.parse()); 
        startActivity(ara); 
        return true; 
      } 

      return super.onContextItemSelected(item); 
     } 

     @Override 
     public boolean onCreateOptionsMenu(Menu menu) { 
      MenuInflater menuInflater = getMenuInflater(); 
      menuInflater.inflate(R.menu.mains,menu); 

      return super.onCreateOptionsMenu(menu); 
     } 

     @Override 
     public boolean onOptionsItemSelected(MenuItem item) { 
      switch (item.getItemId()) { 
       case R.id.action_browse :ayar();return true; 

       case R.id.backbut: geri();return true; 
      } 

      return super.onOptionsItemSelected(item); 
     } 

     private void ayar() { 
      Intent i = new Intent(AnaMenu.this, Ayarlar.class); 
      startActivity(i); 
     } 

     private void geri() { 
      Intent ii = new Intent(AnaMenu.this, MainActivity.class); 

      startActivity(ii); 
      AnaMenu.this.finish(); 
     } 
    } 
} 
+0

文字列値= secilmis.get(info.position).toString(); –

+0

動作していません。switch(item.getItemId()){ case MENU_Ara: Intent ara =新しいインテント(Intent.ACTION_DIAL); 文字列値= secilmis.get(info.position).toString(); ara.setData(Uri.parse(value)); startActivity(ara);このリストビューはカスタマイズされています。 3つのテキストビューがあります。 –

+0

uは完全なソースを共有できますか? –

答えて

1

選択した項目の位置を取得するためにonItemClickListener方法でarraylistname.get(position)を使用することができます。

+0

私はそれを手に入れます。しかし今、別の問題が発生しました。どのように私はcontext.selected [link]からinfo.positionを得ることができます(method.https://stackoverflow.com/questions/45150636/how-to-update-costumized-listview-with-contextmenu-after -intent-ended/45151922?noredirect = 1#comment77332045_45151922) –

関連する問題