2014-04-21 3 views
0

채팅 앱처럼 건물에 있습니다. 따라서 현재 뷰에 요소 (사용자 사진 및 메시지)를 추가하고 싶습니다. 문제는 showMessage 함수에서 발생하지만 nothings도 발생하지만 오류는 발생하지 않습니다.LayoutInflater does doesnt work

RelativeLayout rly = new RelativeLayout(ChatActivity.this); 
rly.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)); 
LayoutInflater inflater = getLayoutInflater(); 
View viewToAppend = inflater.inflate(R.layout.messages,null); 
rly.addView(viewToAppend); 

메시지 XML :

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="40dp" 
    android:layout_height="40dp" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:src="@drawable/fede" /> 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerVertical="true" 
    android:layout_marginLeft="10dp" 
    android:layout_toRightOf="@+id/imageView1" 
    android:text="messagetext" /> 

</RelativeLayout> 

UPDATE

setContentV 추가 -> showMessage

ChatActivity : 여기

내 코드입니다 iew (rly); 작동하지만, 모든 내용을 "xml loaded"로 바꾸십시오, 나는 그것을 덧붙이고 싶습니다.

+2

: 레이아웃 XML의 기본 레이아웃 (예 : 'main_layout'등) ID를 할당, 다음이 추가? –

+0

흠, "referer"로 무엇을 의미하는지 이해하지 못합니다. 그 기능에 대한 모든 코드입니다. –

답변

0

코드를 시도해보십시오.

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

과 같이 성공적으로 처리 될 수 있습니다. 행운을 빌어 요!

+0

어쨌든 고마워요. –

+0

이 코드를 편집하기 때문에 현재 작동 중일 수도 있습니다. 다시 시도하십시오. –

0

인플레이터에 레이아웃을 추가하려면 레이아웃 ID를 매개 변수로 사용하여 inflate 메소드를 사용할 수 있습니다.

View v = ((LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.info_window_adapter_layout, null); 


경우 상황에 맞는 활동 상황

+0

감사합니다. 하지만 작동하지 않았다. ( –

0

당신은 새로운 RelativeLayout의를 생성하고 메시지가 그것을보고, 추가하지만, 콘텐츠보기로 RelativeLayout의 첨부하지에 대한 참조. 코드에서 RelativeLayout의 문의 해

RelativeLayout mainLayout = (RelativeLayout) findViewById(R.id.main_layout); 
mainLayout.addView(rly); 
+0

Thaks,하지만 setContentView (rly)를 추가하면 모든 내용이 새 XML로 바뀌고 바꿔서 바꿀 필요가 없다. –

+0

그런 다음 rly를 현재 내용보기에 추가해야한다. 기본 레이아웃 XML에서 ID를 지정한 다음 코드에서 id로 해당 뷰를 찾고 rly를 추가하십시오. –