Попытка получить значение из текстового представления в событии щелчка представления списка в андроиде - PullRequest
3 голосов
/ 18 июля 2010

У меня есть событие click, подключенное к моему списку, как показано.

int[] GenusListIDs = { R.id.txt_ID, R.id.txt_Genus, R.id.txt_Count };
        SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.genusitem, cursor_genuslist, service.GenusListColumns, GenusListIDs);

        ListView list_Genus = (ListView)findViewById(R.id.list_Genus);
        list_Genus.setAdapter(adapter);
        list_Genus.setOnItemClickListener(new OnItemClickListener(){
            @Override
            public void onItemClick(AdapterView parent, View view, int position, long id)
            {
                try
                {
                    Log.println(1, "ItemClick", view.toString());
                    TextView tv = (TextView)view;
                    String genus = (String) tv.getText();
                    Intent i = new Intent(getBaseContext(), Cat_Species.class);//new Intent(this, Total.class);
                    /*view
                    i.putExtra("id", id);*/
                    startActivity(i);
                }
                catch(Exception ex)
                {
                    Log.println(1, "item-click-event", ex.getMessage());
                }
            }
        });

Мне нужно передать строковый параметр новому намерению, основываясь на том, какой элемент списка они щелкнули Значение, которое я хочу передать, находится в списке под названием txt_Genus. Как я могу получить это значение из списка для передачи в намерение? Не обращай внимания на мои эксперименты, ха-ха.

1 Ответ

5 голосов
/ 18 июля 2010

Это должно сделать это.

TextView tv = (TextView)view.findViewById(R.id.txt_Genius);
String genus = tv.getText().toString();

Затем поместите это в дополнительные функции, я думаю, вы уже знаете этот бит.В вашей новой деятельности вы получите доступ к цели и получите пакет дополнений.Затем вы можете получить доступ ко всему, что вы поместили в намерение в предыдущей деятельности, как показано ниже:

Bundle extras = getIntent().getExtras();
String genius = extras.getString("genius");
// pop some toast to show the value of genius - not required but shows it works :) 
Toast.makeText(this, "Genius value: " + genius, Toast.LENGTH_SHORT).show();
...