Ich habe 2 Aktivitäten. MainActivity und Screen2. Ich möchte einen Text, der in der EditView von MainActivity geschrieben wurde, senden, indem ich den Button zu Screen2 drücke, um ihn dort auf der EditView anzuzeigen. Wenn Sie dann die Schaltfläche auf Bildschirm2 drücken, müssen Sie eingeben, um es an MainActivity zurückzugeben und eine verkettete Nachricht anzuzeigen. Aber meine App hält Schließung, bitte hilf mirWie startActivityfoResult in Android Studio 2.3.3 zu verwenden?
package com.example.car.cerdo;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
String msg;
public static final String Extra_Message = "myFirst";
static final int Main_requestCode=1;
TextView t = (TextView) findViewById(R.id.t1);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b = (Button) findViewById(R.id.b1);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent(MainActivity.this, Screen2.class);
msg = t.getText().toString();
myIntent.putExtra(Extra_Message, msg);
startActivityForResult(myIntent,Main_requestCode);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==Main_requestCode)
{
String msg= data.getStringExtra(Screen2.Result_Message);
t.setText(msg);
}
}
}
package com.example.car.cerdo;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class Screen2 extends AppCompatActivity {
String msg;
public static final String Result_Message="my_Res";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_screen2);
Intent i=getIntent();
msg=i.getStringExtra(MainActivity.Extra_Message);
TextView t= (TextView)findViewById(R.id.t2);
t.setText(msg);
Button b=(Button)findViewById(R.id.b2);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent resultIntent= new Intent();
resultIntent.putExtra(Result_Message, msg+" this is new");
setResult(RESULT_OK,resultIntent);// REsultcode
finish();
}
});
}
}
EDIT: WURDE KORRIGIERT NACH Mr.UMAR HUSSAIN Antwort, das Problem noch bleibt gleich. Ich habe das Protokoll unter dem Kommentar Abschnitt der Frage hinzugefügt BITTE PRÜFEN, dass auch
Haben Sie die Protokolle überprüfen? –
09-02 10: 48: 34,119 1598-1598/system_process W/IInputConnectionWrapper: reportFullscreenMode auf inexistent InputConnection [09-02 10: 48: 34,123 1365: 1365 I /] free_cache (3063) Gebrauch machen 701.313.024 09-02 10: 48: 57.358 2622-3201/com.google.android.gms I/FA-SVC: Diese Instanz wird als Uploader markiert 09-02 10: 49: 12.861 2622-2632/com.google.android.gms W/SQLiteConnectionPool: –
Ein SQLiteConnection-Objekt für die Datenbank '/data/user/0/com.google.android.gms/databases/networkstatistics.sqlite' wurde durchgesickert! Bitte reparieren Sie Ihre Anwendung, um die laufenden Transaktionen ordnungsgemäß zu beenden und die Datenbank zu schließen, wenn sie nicht mehr benötigt wird. –