【发布时间】:2015-06-13 17:51:42
【问题描述】:
我只是一个初学者。我正在尝试使用 uri.parse 来返回结果。 这是我的主要 java 文件。
package com.example.returnresult;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
int request_code=1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void sendMessage(View v){
Intent i = new Intent(this,Second.class);
startActivityForResult(i,request_code);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == request_code)
{
if(resultCode == RESULT_OK)
{
Toast.makeText(this,data.getData().toString(),
Toast.LENGTH_SHORT).show();
}
}
}
}
此活动仅在屏幕上显示一个按钮以转到第二个活动。它工作正常。
这是第二个 java 文件。
package com.example.returnresult;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class Second extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
}
public void sendBack(View v){
Intent i = new Intent();
EditText txt = (EditText)findViewById(R.id.age);
i.setData(Uri.parse(txt.getText().toString()));
setResult(RESULT_OK,i);
finish();
}
}
此活动显示一个 EditText 字段。它的 id 是年龄。它下面有一个按钮,必须将数据发送回第一个活动并显示 Toast。但是这个按钮不起作用。我无法解决问题。请帮忙!
【问题讨论】:
-
不要使用
Intent.setData()和Intent.getData(),而是尝试使用Intent.putExtra()和Intent.getExtra()。在stackoverflow.com/questions/920306/…的几个答案中得到了很好的解释
标签: java android android-layout android-intent