Как выполнить функцию намерения в выбранной строке Listview

Я создал один список некоторых имен, мне нужно, когда я нажму на выбранную строку, он перейдет только на эту страницу, при нажатии на другую строку он перейдет к тому же классу, но другому содержимому. Я думаю, что он будет перемещаться по вопросу id.Может ли кто-нибудь помочь мне, как передать идентификатор вопроса или любой другой способ сделать это..

вот мой код..

private OnItemClickListener mlist = new OnItemClickListener(){

    @Override
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {


    }       
};

person Community    schedule 15.02.2013    source источник
comment
Вы имеете в виду одно и то же действие с несколькими разделами?   -  person Anukool    schedule 15.02.2013
comment
@Anukool нет, я имею в виду, если я нажму на одно имя, оно переместится на другую страницу с описанием этого имени ..   -  person    schedule 15.02.2013
comment
Взгляните на этот пост, чтобы передать данные из ListView в следующее действие. этот пост тоже хорош. и особенно google.   -  person Adil Soomro    schedule 15.02.2013
comment
@AdilSoomro спасибо .. но мне нужно, чтобы, когда я щелкну любую строку, она переместилась только на эту конкретную страницу строки ..   -  person    schedule 15.02.2013


Ответы (2)


Вы можете попробовать что-то вроде этого -

private OnItemClickListener mlist = new OnItemClickListener(){

    @Override
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {

        if(Some condition)
        {
            Intent i= new Intent(YourActivity.this,ActivityOne.class);
            // To pass data 
            i.putExtra("SomeId", someValue);
            startActivity(i);
        }
        else if(Some other condition)
        {
            Intent i= new Intent(YourActivity.this,SecondActivityTwo.class);
            startActivity(i);
        }
        else
        {
            // Do something else--
        }

    }       
};

А в другой деятельности -

String identifier = getIntent().getExtras().getString("SomeId");
person Anukool    schedule 15.02.2013
comment
я хочу, чтобы предположим, что вы нажмете первую строку, она переместится в aaa.class..следующая, если вы нажмете третью строку, она должна перейти в aaa.class с другим содержимым..путем передачи идентификатора пользователя..или что-то в этом роде - person ; 15.02.2013
comment
@ Sangita: вам придется объяснить немного больше. - person Anukool; 15.02.2013
comment
k..посмотрите..у меня есть 10 строк списка..в каждой строке по клику..он будет отображать некоторый контент..который также будет в списке - person ; 15.02.2013
comment
@ Sangita: On Click вы заполняете новый ListView? Или Вы говорите о вложенных списках? - person Anukool; 15.02.2013
comment
в строке onclick он покажет некоторый пользовательский список, который будет иметь только содержимое строки. - person ; 15.02.2013

Здесь я привел пример, предполагая, что у вас есть список пользователей и вы нажимаете на элемент, который хотите отобразить профиль пользователя...

В активности List_Act...

public View getView(int position, View convertView, ViewGroup parent)
{
    convertView = mInflater.inflate(R.layout.rowitem,parent,false);

    convertView.setTag(UserId);
}

private OnItemClickListener mlist = new OnItemClickListener(){

        @Override
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
            Intent i=new Intent(List_Act.this, Profile_Act.class);
            int UserId = ((View)v.getParent()).getTag();
            i.putExtra("UserId", UserId);  //Setting variable you want to pass to another activity
            startActivity(i);
        }       
    };

в активности Profile_Act в onCreate()

String UserId = getIntent().getExtras().getString("UserId");  //retrieving value in another activity

теперь у вас будет установлена ​​переменная UserId, и вы можете ее использовать...

person Mohit Mehta    schedule 15.02.2013
comment
@Sangita да, вам нужно будет назначить тег элементу в getView() класса адаптера, этот тег должен быть идентификатором пользователя или чем-то, что вы хотите передать ... и в методе onclick вы можете получить идентификатор тега и передать ... - person Mohit Mehta; 15.02.2013
comment
@Sangita теперь проверьте... в методе getView я установил тег для элемента списка... - person Mohit Mehta; 15.02.2013
comment
я уже создал базовый адаптер... мне нужно передать идентификатор имени из одного действия в другое - person ; 15.02.2013
comment
@Sangita да, в классе, расширенном BaseAdepter, вы бы переопределили метод public View getView (int position, View convertView, ViewGroup parent), в этом методе вы можете установить тег, как я уже упоминал, и в onclick вы можете получить значение из тега и с помощью putExtra вы можете передать его... - person Mohit Mehta; 15.02.2013
comment
давайте продолжим это обсуждение в чате - person Mohit Mehta; 15.02.2013
comment
извините .. я не могу принять ваш ответ, все в порядке .. но, наконец, он не работает - person ; 15.02.2013
comment
@Sangita Все в порядке ... Я мог бы решить эту проблему, если бы вы прислали мне пример кода - person Mohit Mehta; 15.02.2013