2012-03-12 22 views
-2

在我的項目中。有三個文件。Android問題:如何從edittext獲取內容

passParaActivity.java 
//main Activity, show a edittext and a button to reslut.java 
result.java 
//display the number which typed in passParaAcitivity.java 
mainFunc.java 
//function to get the number from passParaActivity.java 

這是與passParaActivity.java相關的main.xml。

<?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" > 
    <TextView android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="Type a number:" 
      android:textSize="20dp"/> 
    <EditText android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:hint="Type a number" 
      android:id="@+id/number"/> 
    <Button android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="PASS" 
      android:id="@+id/btn"/> 
</LinearLayout> 

這是result.xml的代碼。

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

    <TextView android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="The number is:" 
       android:textSize="20dp"/> 
    <TextView android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:textSize="30dp" 
       android:textColor="#0000ff" 
       android:id="@+id/mytext"/> 
    <Button android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="Back" 
      android:id="@+id/back"/> 

</LinearLayout> 

passParaActivity.java:

public Button btn; 
    public EditText number; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     btn = (Button) findViewById(R.id.btn); 
     number = (EditText) findViewById(R.id.number); 

     btn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Intent intent = new Intent(PassParaActivity.this, result.class); 
       startActivity(intent); 
      } 
     }); 
    } 

result.java:

public TextView mytext; 
    public Button back; 
    mainFunc main; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.result); 
     mytext = (TextView) findViewById(R.id.mytext); 
     back = (Button) findViewById(R.id.back); 

     main = new mainFunc(result.this); 
     mytext.setText(main.getNum()); 

     back.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Intent intent = new Intent(result.this, PassParaActivity.class); 
       startActivity(intent); 
      } 
     }); 
    } 

mainFunc.java

public class mainFunc { 
    private PassParaActivity mycontext; 
    int num = 0; 
    public mainFunc(Context context){ 
     mycontext = (PassParaActivity) context; 
    } 

    public int getNum(){ 
     num = Integer.parseInt(mycontext.number.getText().toString()); 
     return num; 
    } 
} 

我怎樣才能得到這個工作嗎?感謝您的耐心。

回答

0

你也可以嘗試使用共享偏好存儲價值。

SharedPreferences prefs = PreferenceManager 
.getDefaultSharedPreferences(this.getApplicationContext()); 
    Editor prefsEditor = prefs.edit(); 
    prefsEditor.putString("key","value"); 
    prefsEditor.commit(); 

而且以檢索它

SharedPreferences prefs = PreferenceManager 
.getDefaultSharedPreferences(this.getApplicationContext()); 
String value = prefs.getString("key","defaultValue");