2012-07-06 1 views
0

J'essaie d'avoir une textview dynamique basée sur le fichier xml ..... S'il vous plaît aidez-moi avec mon codedynamique erreur textView en cliquant listView

CODE

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)); 

} 

} 

mon fichier XML comme suit

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> 

je rencontre une erreur dans ce code

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

comme

enter image description here S'il vous plaît quelqu'un me dire la solution pour mon problème.

ma démo de sortie cible comme

enter image description here

+0

une chose faites attention chaque fois que vous posez la question d'une erreur, dites-nous quel genre d'erreur vous obtenez plutôt que de code. Merci de coller le logcat ici. Vous n'avez même pas mentionné quelle "erreur" dans votre détail. Personne n'est dieu ici –

+0

vérifier mon image mise à jour? Je ne peux pas savoir .addView avoir une erreur ?????? –

+0

vérifier ma question maintenant –

Répondre

0

La classe View ne dispose pas d'un TextView dynamique addView method.Add comme:

premier id layout donner 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:id="@+id/layout" 
android:orientation="vertical" 
android:padding="5dp" 
android:background="@drawable/view"> 

et dans le code:

final TextView tv1 = new TextView(this); 
LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT, 
    LinearLayout.LayoutParams.WRAP_CONTENT 
    ); 
    tv1.setText("TextView"); 
RelativeLayout layout = (RelativeLayout) findViewById(R.id.layout); 
layout.addView(tv1, p); 
+0

mais ma cible est dans ma question ... je suis mise à jour ma question maintenant ... vérifier ... est-ce possible de cette façon ?????? En raison de la difficulté, je préfère LayoutInflater –

+0

@ Dipin.KG: si vous voulez utiliser LayoutInflater, intégrez mon code dans votre code actuel et essayez d'ajouter du texte en utilisant 'v.addView (tv1)' au lieu de 'RelativeLayout layout = (RelativeLayout) findViewById (R.id.layout); layout.addView (tv1, p); ' –

1

La classe View ne possède pas de méthode addView, vous ne pouvez pas ajouter un View à un autre View. La méthode addView appartient à la classe ViewGroup.

+0

S'il vous plaît suggérer le code pour moi ?????? –

+0

pouvez-vous suggérer du code pour moi? –

+0

@ Dipin.K.G Je vous donnerais du code mais je ne comprends pas ce que vous essayez de faire. Pour le moment, vous définissez une mise en page comme vue de contenu, puis gonflez à nouveau la même mise en page, vous recherchez un TextView à partir de cette mise en page gonflée, définissez le texte et essayez d'ajouter la vue agrandie à ce TextView. Cela n'a aucun sens. – Luksprog

Questions connexes