2012-03-26 8 views
1

Ich habe eine Anwendung implementiert, um das XML-Layout mit einigen Eigenschaften zu modifizieren. Ich habe eine XML-Datei auf R.layout.main entworfen.Wie bekomme ich modifizierten Inhalt als Android-Layout-XML-Datei?

Ich gründe Eigenschaft Sichtbarkeit von meiner Aktivität class.When i main.xml Datei zur Laufzeit aktualisiere Ich mag würde Kopie main.xml Datei mit aktualisierten Eigenschaft als Sichtbarkeit erhalten, wie

Zunächst wird das Haupt gegangen. xML-Datei wie folgt:

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

// Hier i gesetzt hat noch keinen android: Sichtbarkeit = "gegangen" // ich möchte die obige Eigenschaft von Aktivitätsklasse ändern

<TextView 
     android:id="@+id/textView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Question1" android:textColor="#ffffff"/> 

    <CheckBox 
     android:id="@+id/questioncheckBox1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 

    <EditText 
     android:id="@+id/editTextone" 
     android:layout_width="180dip" 
     android:layout_height="wrap_content" android:focusable="true"> 
    </EditText> 

    <CheckBox 
     android:id="@+id/checkBox1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 

</LinearLayout> 
</LinearLayout> 

Ich habe meine Anwendung wie folgt umgesetzt:

public class ContentExmpleActivity extends Activity { 

LinearLayout l1,l2; 
CheckBox c1,c2; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    l1 =((LinearLayout)findViewById(R.id.linearLayout1)); 
    l2=((LinearLayout)findViewById(R.id.linearLayout2)); 
    c1=((CheckBox)findViewById(R.id.checkBox1)); 
    c2=((CheckBox)findViewById(R.id.checkBox2)); 

    c1.setOnCheckedChangeListener(new OnCheckedChangeListener() { 
     @Override 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
      l1.setVisibility(View.GONE); 
     } 
    }); 

    c2.setOnCheckedChangeListener(new OnCheckedChangeListener() { 
     @Override 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
      l2.setVisibility(View.GONE); 
     } 
    }); 

    ((Button)findViewById(R.id.button1)).setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      //Implementation for get the modified content xml layout with properties from emulator 

     } 
    }); 


} 
} 

aus der obigen Klasse i am hidding Layout, wenn der Benutzer das Kontrollkästchen aktiviert, dann wird es speichern Schaltfläche Benutzer klicken Sie hidding.When auf ich möchte die content bekommen XML-Datei als Android-Layout xml.i bedeuten Kopie der main.xml mit geänderten Eigenschaften als Verbergen von Layout-Eigenschaften.

Wie kann ich eine Kopie der main.xml-Datei erhalten, wenn der Inhalt geändert wurde?

bitte jede Stelle mir helfen .....

+0

Sie können die modifizierte XML-Datei nicht wirklich erhalten, vielleicht sollten Sie erklären, was damit zu tun ist. – Luksprog

+0

Ich habe meinen Code aktualisiert –

Antwort

0

ersetzen
setContentView(R.layout.main); 

von

View vi = View.inflate(this, R.layout.main, null); 
setContentView(vi); 

Nun haben Sie eine Referenz der geänderten Ansicht und Sie können es zuweisen, wo Sie wollen.

+0

Dies ist nicht meine Antwort. Meine Frage ist, ich möchte die Kopie der XML-Datei für Redesign erhalten. –

+0

Ich meine, ich möchte Xml-Datei über modifizierte Xml erhalten –

Verwandte Themen