2012-07-05 2 views
-1

я имею динамическое представление текста на основе файла XML ..... Пожалуйста, помогите мне для моего кода ......Ошибка в динамическом текстовом виде на основе файла XML

мои коды

MessageViewPage.java

package com.dpn.pack; 


public class MessageViewPage extends Activity { 

TextView tv1=new TextView(this); 
ScrollView sv; 
String nickname,body; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.message_view_page); 

    Bundle b = getIntent().getExtras(); 

    nickname= b.getString("nick"); 
    body=b.getString("body"); 

    LayoutInflater vi = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View v = vi.inflate(R.layout.message_view_page, null); 

    // fill in any details dynamically here 
    TextView textView = (TextView) v.findViewById(R.id.textViewSender); 
    textView.setText("Sender : "+nickname); 

    // insert into main view 
    View insertPoint = findViewById(R.id.textViewSender); 
    insertPoint.addView(v, 0, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT)); 



} 



} 

мой XML-файл следующим образом

message_view_page.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:padding="5dp" 
android:background="@drawable/view"> 

<TextView 
    android:id="@+id/textViewSender" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginLeft="18dp" 
    android:layout_marginTop="35dp" 
    android:textColor="#FFFFFF" 
    android:textSize="20dp" /> 

<TextView 
    android:id="@+id/textViewBody" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/textViewSender" 
    android:layout_below="@+id/textViewSender" 
    android:layout_marginLeft="20dp" 
    android:layout_marginTop="40dp" 
    android:textSize="15dp" 
    android:textColor="#F69DD1" /> 

<Button 
    android:id="@+id/buttonReply" 
    android:layout_width="100dp" 
    android:layout_height="50dp" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_marginLeft="45dp" 
    android:layout_marginBottom="50dp" 
    android:text="Reply" /> 

<Button 
    android:id="@+id/buttonListen" 
    android:layout_width="100dp" 
    android:layout_height="50dp" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentRight="true" 
    android:layout_marginRight="45dp" 
    android:layout_marginBottom="50dp" 
    android:text="LIsten" /> 

</RelativeLayout> 

я имею ошибку в

insertPoint.addView(v, 0, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT)); 

Пожалуйста любой скажите мне решение .....

+2

Что случилось? Есть ли ошибка, и если да, какова ваша фактическая ошибка и logcat? Кроме того, «View insertPoint = findViewById (R.id.textViewSender)», похоже, вы пытаетесь добавить пустой текст в Textview, почему? – Guardanis

+0

Ваш вид прокрутки также не используется, и вы не вставляете строку «body» в любом месте. Это правда, или вы просто не опубликовали код, где он используется? – BlackHatSamurai

+0

исправьте мой код, если это возможно? –

ответ

0

Ваш insertPoint является недействительным. Поскольку вы не устанавливаете макет перед вызовом findViewById. Так что ничего не найдет.

Вы должны вызвать

setContentView(R.layout.message_view_page); 

раньше.

0

вы используете строку в коде RelativeLayout item = (RelativeLayout) findViewById(R.id.textViewSender); но мотыга вы можете получить textViewSender идентификатор с добавлением из файла XML message_view_page.xml

вы должны добавить
setContentView(R.layout.message_view_page);
после super.onCreate(savedInstanceState); этой линии.

Смежные вопросы