Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android onActivityResult未使字符串脱离目的_Android_Android Intent - Fatal编程技术网

Android onActivityResult未使字符串脱离目的

Android onActivityResult未使字符串脱离目的,android,android-intent,Android,Android Intent,我需要一些关于我的android应用程序的帮助。我有两个活动,第一个用startActivityForResult()启动第二个活动。当第二个文件关闭时,它会发送它应该发送的意图,但是当我想从onActivityResult()访问额外的内容时,我会得到一个null,而不是输入的内容。 我还尝试使用bundle和 Bundle b = getIntent().getExtras(); b.getString(AddTable.EXTRA_NAME); 但它导致了运行时异常和交付结果的失败 这是

我需要一些关于我的android应用程序的帮助。我有两个活动,第一个用
startActivityForResult()
启动第二个活动。当第二个文件关闭时,它会发送它应该发送的意图,但是当我想从
onActivityResult()访问额外的内容时,我会得到一个null,而不是输入的内容。
我还尝试使用bundle和

Bundle b = getIntent().getExtras();
b.getString(AddTable.EXTRA_NAME);
但它导致了运行时异常和交付结果的失败

这是我的密码:

public class RunnerApp extends Activity {

    private ListView listView;
    private static ArrayList<String> values = new ArrayList<String>();
    private ArrayAdapter<String> adapter;
    private Intent newTable;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_runner_app);
        listView = (ListView) findViewById(R.id.mylist);
        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, values);
        listView.setAdapter(adapter);
    }

    public void addTable(View v){
        newTable = new Intent(this, AddTable.class);
        startActivityForResult(newTable, 1);
    }
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data){
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode == 1 && resultCode == Activity.RESULT_OK && data != null){
        data = getIntent();
        Log.d("add", "got intent");
        String newName = data.getStringExtra(AddTable.EXTRA_NAME);
            Log.d("add", "string " + newName); //always prints string null
            values.add(newName);
            Log.d("add", "added to list");
        }
    }

    @Override
    public void onResume(){
        super.onResume();
        setContentView(R.layout.activity_runner_app);
        adapter.notifyDataSetChanged();
    }
}

在第一个活动中,代码读取

data = getIntent();
但您需要的实际数据在

data.getData()

在第一个活动中,代码读取

data = getIntent();
但您需要的实际数据在

data.getData()

在onActivityResult函数中使用此选项

data.getStringExtra(EXTRA_NAME)

在onActivityResult函数中使用此选项

data.getStringExtra(EXTRA_NAME)

如果您取出
新的意图(这个,RunnerApp.class)并将其保持为
new Intent()
,这样做有效吗?不幸的是,没有任何变化。如果取出
new Intent(这个,RunnerApp.class)并将其保持为
new Intent()
,这样做有效吗?不幸的是,没有任何变化。