如何在 ContextMenu 中获取 ListView 的 textview for intent?

How to get ListView's textview for intent in ContextMenu?

我有一个 ListView。这个 ListView 有一个数组,数组有 5 个数字。首先,在第一个 activity 中,用户选择 5 个数字,然后这 5 个数字进入第二个 activity 中的 ListView。当用户单击上下文菜单上的任何数字时,我想用这 5 个数字开始一个 Intent。意图将开始那个位置。但是为什么我选不到号码呢?

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();
        }
    }
}

您可以在onItemClickListener方法中使用arraylistname.get(position)获取选中项的位置。