2016-11-06 4 views
0

J'ai deux activité, l'un d'entre eux (FirstActivity) qui a un ListView cliquable avec deux articles item1 et item2. Un autre (SecondActivity) qui a ViewFlipper avec deux Child Layout layout1 et layout2, je veux aller layout1 en cliquant sur item1 du ListView, Ma question est de savoir comment je peux le faire? Je l'ai fait jusqu'à présentComment aller enfant spécifique d'un ViewFlipper à partir d'un ListView cliquable?

showPoemListLV.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

      if(position == 0){ 
       viewFlipper.setDisplayedChild(0); 
       viewFlipper.setDisplayedChild(viewFlipper.indexOfChild(findViewById(R.id.anamikaSV))); 


      } 

     } 
    }); 

mais il ne fonctionne pas du tout :(null exception de pointeur apparaît après avoir cliqué sur le item1

Répondre

0

Vous obtenez NPE parce que vous n'avez pas commencé la SecondActivity yet.You peut faire ce

en FirstActivity

showPoemListLV.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 


     if(position == 0){ 
      Intent intent = new Intent(this, SecondActivity.class); 
      intent.putExtra("POSITION_CLICKED",0); 
      startActivity(intent); 
     } 

    } 
}); 

Ensuite, dans le OnCreate de votre SecondActivity, après la setContentView appel, faire ce

ViewFlipper viewFlipper = (ViewFlipper) findViewById(R.id.your_viewflipper_id); 
Intent intent = getIntent(); 
int POSITION_CLICKED = intent.getIntExtra("POSITION_CLICKED",0); 
viewFlipper.setDisplayedChild(POSITION_CLICKED); 

Il suffit de remplacer R.id.your_viewflipper_id avec id de votre ViewFlipper.

Developer guide on starting a new Activity

+0

J'ai la réponse appropriée, Merci beaucoup @Veneet Raddy –