2011-08-09 3 views
1

편집 : 도와 주셔서 감사합니다. 나는 다음과 같은동적 인 Xml (나는 생각한다)

final EditText firstName = (EditText) findViewById(R.id.editText1); // First Name 
    final EditText middleName = (EditText) findViewById(R.id.editText2); // Middle Name 
    final EditText birthDate = (EditText) findViewById(R.id.editText4); // Birth Date 

    final String firstname = firstName.getText().toString(); // First Name 
    final String middlename = middleName.getText().toString(); // Middle Name 
    final String birthdate = birthDate.getText().toString(); // Birth Date 

    TextView firstNameText = (TextView)findViewById(R.id.firstname); 
    TextView middleNameText = (TextView)findViewById(R.id.middlename); 
    TextView birthDateText = (TextView)findViewById(R.id.birthdate); 

    firstNameText.setText(firstname); 
    middleNameText.setText(middlename); 
    birthDateText.setText(birthdate); 

내 database.xml 지금

<TableRow 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <TextView 
     android:background="#aa0000"    
     android:gravity="center_horizontal" 
     android:layout_span="3" 
     android:id="@+id/firstname"/> 
    <TextView 
     android:background="#00aa00" 
     android:gravity="center_horizontal" 
     android:layout_span="3" 
     android:id="@+id/middlename"/> 
    <TextView 
     android:background="#0000aa"   
     android:gravity="center_horizontal" 
     android:layout_span="3" 
     android:id="@+id/birthdate"/> 
    </TableRow> 

표시되지만 포함 내 데이터베이스 클래스를 편집 나는 에뮬레이터를 실행하고 난에서 버튼을 클릭하여 (즉, 화면에 액세스하려고 할 때 이전 화면) 응용 프로그램이 충돌합니까? OnClickListener를 사용하여 버튼을 올바르게 설정하므로 버튼에 문제가 없다고 확신 할 수 있습니다.

답변

1

을 다음과 같이 사용하면 절단 및 붙여 넣기 할 수있는 예입니다.

main.xml에

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 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="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="First Name: " 
    android:id="@+id/firstLabel" 
    android:layout_marginTop="14dip" 
    android:layout_marginBottom="14dip" 
    /> 
<EditText android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:id="@+id/firstEdit" 
    android:text="John" 
    android:layout_toRightOf="@id/firstLabel" 
    android:layout_alignParentRight="true"></EditText> 
    <TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Middle Name: " 
    android:id="@+id/middleLabel" 
    android:layout_below="@id/firstLabel" 
    android:layout_marginTop="14dip" 
    android:layout_marginBottom="14dip"/> 
<EditText android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:id="@+id/middleEdit" 
    android:text="Phillip" 
    android:layout_below="@id/firstEdit" 
    android:layout_toRightOf="@id/middleLabel" 
    android:layout_alignParentRight="true"></EditText> 
    <TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Last Name: " 
    android:id="@+id/lastLabel" 
    android:layout_below="@id/middleLabel" 
    android:layout_marginTop="14dip" 
    android:layout_marginBottom="14dip" 
    /> 
<EditText android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:id="@+id/lastEdit" 
    android:text="Doe" 
    android:layout_below="@id/middleEdit" 
    android:layout_toRightOf="@id/lastLabel" 
    android:layout_alignParentRight="true"></EditText> 
    <TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Birthdate: " 
    android:id="@+id/birthLabel" 
    android:layout_below="@id/lastLabel" 
    android:layout_marginTop="14dip" 
    android:layout_marginBottom="14dip" 
    /> 
<EditText android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:id="@+id/birthEdit" 
    android:text="08/09/1977" 
    android:layout_toRightOf="@id/lastLabel" 
    android:layout_below="@id/lastEdit" 
    android:layout_alignParentRight="true"></EditText> 


<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@id/birthEdit"> 
    <TableRow 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    > 
    <TextView 
     android:background="#aa0000"    
     android:gravity="center_horizontal" 
     android:layout_span="3" 
     android:text="something" 
     android:id="@+id/firstTable"/> 
    <TextView 
     android:background="#00aa00" 
     android:gravity="center_horizontal" 
     android:layout_span="3" 
     android:text="something1" 
     android:id="@+id/middleTable"/> 
    <TextView 
     android:background="#0000aa"   
     android:gravity="center_horizontal" 
     android:layout_span="3" 
     android:text="something2" 
     android:id="@+id/birthTable"/> 
    </TableRow> 
    </LinearLayout> 
    </RelativeLayout> 

DatabaseExample.java는

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.EditText; 
import android.widget.TextView; 

public class DatabaseExample extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     //Setup edit fields 
     EditText firstEdit = (EditText)findViewById(R.id.firstEdit); 
     EditText middleEdit = (EditText)findViewById(R.id.middleEdit); 
     EditText lastEdit = (EditText)findViewById(R.id.lastEdit); 
     EditText birthEdit = (EditText)findViewById(R.id.birthEdit); 


     //Get the text and store in variables 
     String firstName = firstEdit.getText().toString(); 
     String middleName = middleEdit.getText().toString(); 
     String lastName = lastEdit.getText().toString(); 
     String birthDate = birthEdit.getText().toString(); 

     //setup the text fields 
     TextView firstTable = (TextView)findViewById(R.id.firstTable); 
     TextView middleTable = (TextView)findViewById(R.id.middleTable); 
     TextView birthTable = (TextView)findViewById(R.id.birthTable); 

     //change the text fields 
     firstTable.setText(firstName); 
     middleTable.setText(middleName); 
     birthTable.setText(birthDate); 


    } 
} 

다시 한번이 입력 데이터를 표시하기위한 인터페이스 만 할 것이다. String 변수에 데이터를 저장하는 대신 SQLite, SharedPreferences를 사용하거나 SDCard의 파일에 쓸 수 있습니다.

0

strings.xml 파일에 사용자의 값을 저장할 수 없습니다. SharedPreferences 또는 SQLite.과 같은 데이터 저장소가 있어야합니다. Here은 Android에서 데이터 저장에 도움이되는 또 다른 링크입니다.

1

시도 여기에 인터페이스를 이해하는 데 문제가있는 경우

final EditText firstName = (EditText) findViewById(R.id.editText1); 
TextView firstNameTxt = (TextView)findViewById(R.id.firstname); 
firstNameTxt.setText(firstName); 
+0

이것은 TextView를 동적으로 변경하려는 것입니다. 나중에 설정되는 한 원하지 않으면'android : text' 값을 줄 필요가 없습니다. – Rob

+0

감사합니다. 나는 이것을했지만 지금은 에뮬레이터에서 내 응용 프로그램이 오류가 발생하고 자체를 닫습니다. 원래 코드에 새 코드가 무엇인지 편집했습니다. –