2013-10-30 5 views
1

조각 때문에 조각 대신 생각하기 때문에이 대신 getActivity()를 사용해야합니다. 그러나 여전히 치명적인 오류를 범하지 않으며 작동하지 않습니다. 여기 조각으로 인해 목록보기 어댑터가 작동하지 않습니다.

public class TabFragment2 extends Fragment { 


ListView listView; 
String[] ids; 

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) {   

View V = inflater.inflate(R.layout.tab_frag2_layout, container, false); 

     _audioModel.LoadModel(); 
     listView = (ListView)V. findViewById(R.id.lsAudio); 
     String[] ids = new String[_audioModel.Audios.size()]; 
     for (int i= 0; i < ids.length; i++){ 

      ids[i] = Integer.toString(i+1); 
     } 

     _audioAdapter adapter = new _audioAdapter(getActivity(),R.layout.audio_item, ids); 
     listView.setAdapter(adapter); 

내 _audioAdapter.java 코드 나는이 문제에 많은 싸움을

public class _audioAdapter extends ArrayAdapter<String> { 

private final Context context; 
private final String[] Ids; 
private final int rowResourceId; 

public _audioAdapter(Context context, int textViewResourceId, String[] objects) { 

    super(context, textViewResourceId, objects); 

    this.context = context; 
    this.Ids = objects; 
    this.rowResourceId = textViewResourceId; 

} 


@Override 
public View getView(int position, View convertView, ViewGroup parent) { 

    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

    View rowView = inflater.inflate(rowResourceId, parent, false); 
    TextView audioName = (TextView) rowView.findViewById(R.id.textAudioName); 

답변

0

의 일부입니다 ... 미리 감사를 도와주세요! 문제는 조각/활동 라이프 사이클에 있습니다 조각이 활동의 ​​첫 번째 항목 인 경우 onCreateView에서 활동이 아직 존재하지 않습니다 ... 디버그를 시도하거나 로그를 게시하면 cat이 오류라고 생각합니다. getActivity에 NullPointerException이()

빠른 & 더러운 트릭 :

@Override 
public void onActivityCreated(Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 
    /* All the code that need getActivity() */ 
} 
+0

그래, 그게 문제입니다. 어떻게 이것을 해결 했습니까? – SerhatCan

+0

제 편집에서 간단한 트릭을 찾으십시오. 그러나 이것은 최종 해결책이 아닙니다. 조각이 많을수록 문제가 발생할 수 있습니다. 활동에 단 하나의 아들 단편이있는 경우이 방법은 빠른 해결 방법입니다. –

+1

고마워요.하지만 3 조각이 있고이 조각이 제 2 조각이기 때문에 당신이 말한대로 저에게 효과가 없었습니다. – SerhatCan

관련 문제