2011-09-01 5 views
4

의 XML 뷰 그룹을 기존에 담기 내가 코드에 이미 존재하는 XML 레이아웃에보기를 추가 할 수 있도록하고 싶습니다 위의 코드 에서처럼 리소스를 사용하지 않습니다.보기 이미 코드

common_list.xml :

<?xml version="1.0" encoding="UTF-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" 
    android:gravity="center_horizontal" 
    android:text="Quick List"/> 

</LinearLayout> 
+0

어떤 오류가 발생하면 logcat에 표시됩니까? – Dayerman

+0

ERROR/AndroidRuntime (8357) : java.lang.RuntimeException : 활동을 시작할 수 없습니다. ComponentInfo {com.example.androidABC/com.example.androidABC.Common_ActivityList} : java.lang.NullPointerException 09-01 14 : 59 : 57.889 : ERROR/AndroidRuntime (8357) : android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2753) 09-01 14 : 59 : 57.889 : ERROR/AndroidRuntime (8357) : android.app.ActivityThread.handleLaunchActivity (ActivityThread. java : 2769) 09-01 14 : 59 : 57.889 : android.app.ActivityThread.access $ 2500 (ActivityThread.java:129) – Klau3

답변

6

봅니다 LayoutInflater에서

LinearLayout ll = (LinearLayout) LayoutInflater.from(this).inflate(R.layout.common_list) 
TextView tv = new TextView(this); 
tv.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); 
tv.setText("sample text"); 
ll.addView(tv); 

setContentView(ll); 

사용이 작동하지 않을 경우, 로그 캣에서 오류를 추가하시기 바랍니다. 안드로이드에 layout_width = "fill_parent"을 : : 또한

, 당신은 안드로이드에서 속성을 변경해야합니다 common_list.xml에서 행해져 Yout의 LinearLayout에 layout_width = "wrap_content"를 또한 common_list.xml에 텍스트 뷰에 같은 일을

왜? 레이아웃이 가로 방향이고 전체 화면 공간을 채우므로 TextEdit은 레이아웃만큼 많은 공간을 채 웁니다 (이 경우 전체 화면 공간입니다). 이제 다른 TextView를 추가하면 첫 번째 TextEdit의 오른쪽에 제대로 추가됩니다. 따라서 화면 밖과 비슷합니다. 어떤 일이 발생하는지 정확히 이해하려면

----------------- 
||-------------||--------------- 
||| TextViev1 ||||addedTextView| 
||-------------||--------------- 
||    || 
||    || 
||    || 
||    || 
||    || 
||LinearLayout || 
||-------------|| 
| screen  | 
---------------- 

이 문제는 여러 번 발생했습니다. 일반적으로 레이아웃에 뷰를 추가하면 보이지 않고 오류가 없습니다. 너비/높이 또는 위치 (예 : RelativeLayout 사용시)에 문제가 있습니다.

+0

이제 활동이 열리지 만, 만든 TextView. 여기에 사용한 코드가 있습니다 :'LinearLayout ll = (LinearLayout) LayoutInflater.from (this) .inflate (R.layout.common_list, null); \t \t TextView tv = new TextView (this); \t \t tv.setLayoutParams (새로운 LinearLayout.LayoutParams (LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); \t tv.setText ("샘플 텍스트"); \t ll.addView (tv); \t \t setContentView (ll); ' – Klau3

+0

common_list.xml을 첨부하십시오. –

+0

문제 설명에 추가했습니다. – Klau3