2015-01-21 3 views
0

view pager의 특정 페이지에서 imageresource를 변경하고 싶습니다. 이것이 내가 한 일이다.ViewPager 안드로이드의 특정 페이지에서 ImageView 소스 변경

이에서 onCreate 활동 ...

 ((PlaceholderFragment)mSectionsPagerAdapter.getItem(0)).updateImage(R.drawable.help1); 
     ((PlaceholderFragment)mSectionsPagerAdapter.getItem(1)).updateImage(R.drawable.help2); 
     ((PlaceholderFragment)mSectionsPagerAdapter.getItem(2)).updateImage(R.drawable.help3); 
     ((PlaceholderFragment)mSectionsPagerAdapter.getItem(3)).updateImage(R.drawable.help4); 

그리고이 조각 클래스입니다 ...

public static class PlaceholderFragment extends Fragment { 
     /** 
     * The fragment argument representing the section number for this 
     * fragment. 
     */ 
     private static final String ARG_SECTION_NUMBER = "section_number"; 

    /** 
    * Returns a new instance of this fragment for the given section 
    * number. 
    */ 
    public static PlaceholderFragment newInstance(int sectionNumber) { 
     PlaceholderFragment fragment = new PlaceholderFragment(); 
     Bundle args = new Bundle(); 
     args.putInt(ARG_SECTION_NUMBER, sectionNumber); 
     fragment.setArguments(args); 
     return fragment; 
    } 

    public PlaceholderFragment() { 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.fragment_help, container, false); 
     ImageView imageView = (ImageView) rootView.findViewById(R.id.imageHelp); 
     imageView.setImageResource(R.drawable.help4); 
     return rootView; 
    } 

    public void updateImage(int image){ 
     ImageView imageView = (ImageView) getView().findViewById(R.id.imageHelp); 
     imageView.setImageResource(image); 

    } 
} 

하지만 어떻게 든 여전히 나에게 오류가 널 포인터 예외를 제공합니다. 내가 어떻게 그리워? 전에 고마워요. :) 약 2 시간 동안 여기에 붙어 있습니다.

+0

logcat뿐만 아니라 어떤 행에 널 포인터 예외가 있는지 보여줍니다. – duggu

+0

원인 : java.lang.NullPointerException : null 객체 참조에서 가상 메소드 'android.view.View android.view.View.findViewById (int)'를 호출하려고 시도했습니다. 원인 ImageView imageView = (ImageView) rootView. .. – user2565280

답변

0
// declare rootView as global variable 

public void updateImage(int image){ 
    ImageView imageView = (ImageView) rootView.findViewById(R.id.imageHelp); 
    imageView.setImageResource(rootView); 
} 
+0

내가 할 루트 뷰 전역,하지만 어떻게 든 그것은 여전히 ​​오류 줄 원인 : java.lang.NullPointerException : 'android.view.View android.view.View.findViewById (int)'가상 메서드를 호출하려고 시도합니다. null 객체 참조 – user2565280

+0

설명을 위해 더 많은 코드를 제공하십시오. – koutuk

관련 문제