2015-01-26 5 views
0

addView 메소드를 사용하여 일부 TableLayout을 채우려고합니다.Android TableLayout.addView()가 실제로 작동하지 않습니다.

이 내가 수행하려고 할 것입니다 :

private void createNewTable(){ 

    tableLayout = (TableLayout) getView().findViewById(R.id.tableLayout1); 
    for(int i = 0; i < objectList.size(); i++){ 
      if(objectList.get(i).getType() == 0){ 
       tableLayout.addView(createLocationObjectInTable((LocationObject)objectList.get(i)), i); 
      } 
    } 
} 

과 createObjectInList 방법 :

private View createLocationObjectInTable(LocationObject locObject) { 

    TableRow tr = new TableRow(getActivity()); 
    View v = LayoutInflater.from(getActivity()).inflate(R.layout.view_layout, tr, false); 

    TextView textViewCityName = (TextView) v.findViewById(R.id.textView_City_Name); 
    TextView textViewCityProvider = (TextView) v.findViewById(R.id.textView_City_Provider); 
    textViewCityName.setText(locObject.getTitle()); 
    textViewCityProvider.setText(locObject.getSubTitle()); 

    return v; 
} 

그러나 전망은 TableLayout을에 표시되지 않습니다. Logcat이 나에게 오류 메시지를 표시하지 않고 줄 다음에 물건을하려고 할 때

tableLayout.addView(createLocationObjectInTable((LocationObject)objectList.get(i)), i); 

아무 일도 일어나지 않습니다. 앱은이 줄 뒤에 아무 것도하지 않습니다.

누구나 내 실수를 말할 수 있습니까?

+0

은 당신 createLocationObjectInTable 방법 대신 팽창보기 V에서 TableRow보기 (TR)을 반환 할 수 없습니다 하는가? –

+0

심지어 나는 tr을 반환,보기가 표시되지 않습니다. AsyncTask에서 createNewtable() 메서드를 호출합니다. 아마도이 문제가 발생 했습니까? – RyuZz

답변

0

TableLow에보기를 추가하지 않고 TableLayout에보기를 추가하기 만하면됩니다. 이 시도 :

private View createLocationObjectInTable(LocationObject locObject) { 
    ... 
    textViewCityProvider.setText(locObject.getSubTitle()); 

    tr.addView(v); 
    return tr; 

}

+0

나는 이것을 시도했지만, tr을 리턴 한 후에도 TableLayout은 어떤 뷰도 보이지 않는다. tableLayout.addView 이후의 코드도 아직 실행되지 않고 앱이 중지됩니다. – RyuZz

+0

@Sascha_ TableRow ('tr.addView (v);')에보기를 추가 하시겠습니까? '막 멈춘다'는 의미는 무엇입니까? LogCat에서 활동이 오류없이 시작되지 않습니까? – fRoStBiT