2011-07-28 3 views
0

FragmentActivity를 확장 한 액티비티가 있습니다. 원래 액티비티는 확장되었지만 변경되었습니다. 이유는 그다지 중요하지 않지만 문제 추적에 도움이됩니다. . 일부 정보는 특정 변수에 따라 달라 지므로이 정보를 보유하고이 클래스에서 프로그래밍 방식으로 추가 할 수있는 활동 레이아웃 xml의 LinearLayout이 있습니다. 이것은 잘 작동했지만 이전에는 작동을 멈추었습니다. 이유는 없습니다.FragmentActivity에 프로그램 방식으로 뷰 추가하기가 작동하지 않습니다.

public class FriendProfile extends FragmentActivity { 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.friendprofile); 

     Intent intent = getIntent(); 
     userData = (ArrayList<String>)intent.getSerializableExtra("userData"); 
     String status = userData.get(4).trim(); 

     LinearLayout extras = (LinearLayout)findViewById(R.id.friendextra); 
     LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 

     if(status.equals("requester")) { 
      Log.v(TAG, "requester"); 
      TextView view = new TextView(this); 
      view.setText(R.string.requestpending); 
      view.setLayoutParams(params); 
      view.setGravity(Gravity.CENTER); 
      extras.addView(view); 
     } 
    } 
} 

그리고 friendprofile.xml 파일에서 발췌 : - 그것은 확실히 경우 입력

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/friendextra" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:orientation="vertical" > 
    </LinearLayout> 

는 로그 캣 흥미로운 아무것도 표시되지 않습니다 여기

는 파일에서 발췌 한 것입니다 로그는 'requester'를 인쇄하지만 textview는 표시되지 않기 때문에 차단됩니다. 상태가 취할 수있는 몇 가지 값이 있습니다. 각 값은 레이아웃에 다른 구성 요소를 추가하지만 작동하지 않는 값입니다. 응용 프로그램이 충돌하지 않거나 아무것도 표시되지 않고 구성 요소 만 표시됩니다. 누구든지 도와 줄 수 있습니까?

+0

조각에서 같은 것을 시도했지만 동일한 문제가 발생했습니다. if 문이 실행되지만보기가 표시되지 않습니다. – Pikaling

+0

또한 다른 FragmentActivity 보기를 추가하는 것이 효과가있는 곳에서 문제가 있다고 생각하지 않습니다. – Pikaling

답변

0

마지막으로 문제의 원인을 추적했습니다. friendprofile.xml 파일에는 LinearLayout에 대한 TableLayout이 있고 그 높이는 fill_parent로 설정되었습니다. LinearLayout이 올바르게 업데이트되었지만 화면에서 벗어났습니다. 나는 TableLayout의 높이를 wrap_content로 바꿨고, 이것은 절반의 문제를 해결했습니다.

여전히 텍스트를 표시 할 수 없으므로 LinearLayout에 빈 텍스트보기를 넣고 프로그래밍 방식으로 텍스트를 설정하면 정상적으로 작동합니다.

관련 문제