2016-08-29 52 views
-2

我創建了兩個活動。第一個通過編輯文本接受學生的姓名,並有一個提交按鈕。當按下提交按鈕時,下一個活動將打開,其中包含一個編輯文本(以接受標記)以及一個後退按鈕。如何將當前活動的數據發送到之前的活動?

當第二個活動的後退按鈕被按下時,我希望將輸入的標記返回到第一個活動,以便標記顯示在第一個編輯文本中。

請爲我提供兩個活動的代碼。

+1

對不起,SO不是免費的編碼服務。 –

+0

如果您已經創建了這些活動,那麼您應該提供您目前爲止的代碼。 – Laurel

回答

0

您可以使用活動獲得結果。給出一個例子here

+0

雖然問題不屬於SO,但您的答案質量很低。爲什麼OP要「爲結果使用活動」?一個好的答案**將總是解釋所做的事情以及爲什麼這樣做,不僅是爲了OP,而且是爲了將來SO的訪問者。 –

0

你好Akanksha Gahalout,如果我明白你的問題,你想兩項活動,反之亦然之間傳遞數據,如果是的話,你應該使用意圖和使用PutExtrat()方法將數據從一個Activity傳遞到另一個,然後您可以使用BundlegetExtras()方法從第二個Activity中恢復數據。

下面是一個例子:

FirstActivity.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    tools:context="${relativePackage}.${activityClass}" > 

    <EditText 
     android:id="@+id/EditTextFirstActivity" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:hint="@string/StudentName" 
     android:ellipsize="start" 
     android:gravity="center_horizontal" 
     android:labelFor="@+id/EditText1" /> 

    <Button 
     android:id="@+id/buttonFirstActivity" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/OK" /> 

    <TextView 
     android:id="@+id/TextViewFirstActivity" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:textColor="#000000" 
     android:ellipsize="start" 
     android:gravity="center_horizontal" 
     android:textSize="20sp" /> 

</LinearLayout> 

FirstActivity.java:

package dz.A; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 
import android.widget.Toast; 

public class FirstActivity extends Activity implements OnClickListener { 
    private TextView textView; 
    private EditText editTextFirstActivity; 
    private Button buttonFirstActivity; 

    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.first_activity); 
     editTextFirstActivity = (EditText) findViewById(R.id.EditTextFirstActivity); 
     textView = (TextView) findViewById(R.id.TextViewFirstActivity); 
     buttonFirstActivity = (Button) findViewById(R.id.buttonFirstActivity); 
     buttonFirstActivity.setOnClickListener(this); 
     Intent iin = getIntent(); 
     Bundle b = iin.getExtras(); 

     if (b != null) { 
      String marks = (String) b.get("STUDENT_MARKS"); 
      textView.setText(marks); 
     } 

    } 

    @Override 
    public void onClick(View v) { 
     if (v == buttonFirstActivity) { 
      Log.i("OK", "onClickOK"); 
      Intent i = new Intent(this, SecondActivity.class); 
      Log.i("OK", "IntentOK"); 
      Log.i("OK", "startActivity(i)OK"); 
      String studentName = editTextFirstActivity.getText().toString() 
        .trim(); 
      Log.i("OK", "studentNameOK : " + studentName); 
      i.putExtra("STUDENT_NAME", "Student Name : " + studentName); 
      Log.i("OK", "i.putExtraOK"); 
      startActivity(i); 
      finish(); 
      Log.i("OK", "finish()OK"); 

     } 

    } 


} 

SecondActivity.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" > 

    <EditText 
     android:id="@+id/EditTextSecondActivity" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:ellipsize="start" 
     android:gravity="center_horizontal" 
     android:hint="@string/Marks" 
     android:inputType="number" 
     android:labelFor="@+id/EditText1" /> 

    <Button 
     android:id="@+id/buttonSecondActivity" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/sendMarks" /> 

    <TextView 
     android:id="@+id/TextViewSecondActivity" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:textColor="#000000" 
     android:textSize="20sp" /> 

</LinearLayout> 

SecondActivity.java:

package dz.A; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

public class SecondActivity extends Activity implements OnClickListener { 
    private TextView textViewSecondActivity; 
    private EditText editTextSecondActivity; 
    private Button buttonSecondActivity; 

    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.second_activity); 
     textViewSecondActivity = (TextView) findViewById(R.id.TextViewSecondActivity); 
     editTextSecondActivity = (EditText) findViewById(R.id.EditTextSecondActivity); 
     buttonSecondActivity = (Button) findViewById(R.id.buttonSecondActivity); 
     buttonSecondActivity.setOnClickListener(this); 
     Intent iin = getIntent(); 
     Bundle b = iin.getExtras(); 

     if (b != null) { 
      String studentName = (String) b.get("STUDENT_NAME"); 
      textViewSecondActivity.setText(studentName); 
     } 
    } 

    @Override 
    public void onClick(View v) { 
     if (v == buttonSecondActivity) { 
      String marks = editTextSecondActivity.getText().toString().trim(); 
      Intent i = new Intent(this, FirstActivity.class); 
      i.putExtra("STUDENT_MARKS", "Student Marks : " + marks); 
      startActivity(i); 
      finish(); 

     } 

    } 
} 

的AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="dz.A" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="17" 
     android:targetSdkVersion="23" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="dz.A.FirstActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name="dz.A.SecondActivity"/> 


    </application> 

</manifest> 

String.xml:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <string name="app_name">Project</string> 
    <string name="hello_world">Hello world!</string> 
    <string name="OK">OK</string> 
    <string name="Marks">Marks</string> 
    <string name="sendMarks">sendMarks</string> 
    <string name="StudentName">StudentName</string> 

</resources> 

我希望能幫到你。

相關問題