2014-09-14 1 views
1

Я новичок в Android. У меня есть статическое представление списка, и я хочу щелкнуть по каждому элементу и перейти на страницу подробностей. это код для создания статического списка теперь на клике пункта показывает тост, но я хочу, чтобы он перешел на другую страницу. Скажите, пожалуйста, как мне его изменить? и как я могу реализовать приемник массива для него?Как открыть новую страницу, когда я нажимаю на каждый элемент списка?

public class Agenda extends ListActivity { 


    static final String[] Agenda = new String[] { "Iphone", "Samsung", 
      "Galaxy s4", "Nexus"}; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     //setListAdapter(new ArrayAdapter<String>(this, R.layout.list_mobile, 
     //  R.id.label, MOBILE_OS)); 

     setListAdapter(new AgendaArrayAdapter(this, Agenda)); 


    } 

    @Override 
    protected void onListItemClick(ListView l, View v, int position, long id) { 

     //get selected items 
     String selectedValue = (String) getListAdapter().getItem(position); 
     Toast.makeText(this, selectedValue, Toast.LENGTH_SHORT).show(); 

    } 

ответ

3
@Override 
protected void onListItemClick(ListView l, View v, int position, long id) { 

    //get selected items 
    String selectedValue = (String) getListAdapter().getItem(position); 
    Toast.makeText(this, selectedValue, Toast.LENGTH_SHORT).show(); 

    Intent i = new Intent (getApplicationContext(), Details_List.class); 
    i.putExtra("device_name", selectedValue); 
    startActivity(i); 
} 

И В Detail_List Класс:

public class Detail_List extends Activity { 


@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.details); 

    String selected_Device = getIntent().getStringExtra("device_name"); 

    // do whatever on this behalf of selected_Device String 
} 

} 
+0

Thaaaaanks это работает :) –

+0

Принять ответ, если это помогло U –

+0

Другой вопрос, что я хочу реализовать View.OnClickLi stener в классе детали, чтобы отобразить пункты меню на панели действий, но при авариях приложения вы можете сказать мне, в чем проблема, почему он сбой? –

0

Вы должны попытаться начать новую деятельность, когда вы щелкните элемент, например: Добавить setOnItemclickListener() для Listview.

ListView listView = getView().findViewById(R.id.listview); 
listView.setOnItemClickListener (listener); 

OnItemClickListener listener = new OnItemClickListener(){ 

    @Override 
    onItemClick(AdapterView<?> parent, View view, int position, long id){ 
     String name = ((TextView) view.findViewById(R.id.txtText)).getText(); 
     Intent intent = new Intent(context,WhatEverYouWant.class); 
     intent.putExtra("name",name); 
     startActivity(intent); 
    } 

} 
0

попробовать это в главном:

public void onItemClick(AdapterView<?> parent, View view, 
    int position, long id) { 
switch(position) 
{ 
    case 0: 
Intent newActivity = new Intent(Agenda.this, Samsung.class);  
startActivity(newActivity); 
break; 
    case 1: 
Intent i= new Intent(Agenda.this, GalaxyS4.class);  
startActivity(i); 
break; 
    case 2: 
Intent i1= new Intent(Agenda.this, iPhone.class);  
startActivity(i1); //iPhone , change it by your created class for iPhone 
break; 

    case 3: 
Intent i3= new Intent(Agenda.this, Nexus4.class);  
startActivity(i3); 
break; 
} 
Смежные вопросы