我有2項活動。 MainActivity和Screen2。我想從MainActivity發送一個寫在EditView中的文本,按下按鈕到Screen2,在EditView上顯示它。然後按Screen2上的按鈕,它需要 將其返回到MainActivity並顯示連接的消息。但是我的應用程序保持關閉,請幫助我如何在Android studio 2.3.3中使用startActivityfoResult?
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();
}
});
}
}
編輯:已得到糾正後Mr.UMAR侯賽因的問題,但是問題仍然是相同的。我在問題部分添加了日誌請檢查該問題
你檢查日誌? –
09-02 10:48:34.119 1598年至1598年/ system_process W/IInputConnectionWrapper:reportFullscreenMode上不存在InputConnection [09-02 10:48:34.123 1365:1365 I /] free_cache(3063)利用701313024 09-02 10:48:57.358 2622-3201/com.google.android.gms I/FA-SVC:此實例被標記爲上傳者 09-02 10:49:12.861 2622-2632/com.google.android.gms W/SQLiteConnectionPool: –
數據庫「/data/user/0/com.google.android.gms/databases/networkstatistics.sqlite」的SQLiteConnection對象已泄漏!請修復您的應用程序以正確結束正在進行的事務,並在不再需要時關閉數據庫。 –