Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.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 使用Intent接收数据_Android_Android Intent - Fatal编程技术网

Android 使用Intent接收数据

Android 使用Intent接收数据,android,android-intent,Android,Android Intent,我正试图使用Intent将一些数据从我的NoteActivity发送到MainActivity类的方法(addNote()) public类MainActivity扩展了AppCompatActivity{ 私人回收站; 专用回收器查看适配器mAdapter; private RecyclerView.LayoutManager LayoutManager; ArrayList notes=新的ArrayList(); @凌驾 创建时受保护的void(Bundle savedInstanceSt

我正试图使用Intent将一些数据从我的NoteActivity发送到MainActivity类的方法(addNote())

public类MainActivity扩展了AppCompatActivity{
私人回收站;
专用回收器查看适配器mAdapter;
private RecyclerView.LayoutManager LayoutManager;
ArrayList notes=新的ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
注:添加(“sql”);
//意向意向=新意向(NotePad.this,MainActivity.class);
//intent.putExtra(额外消息,str);
//星触觉(意向);
}
void addNote()
{
Intent=this.getIntent();
String title=intent.getStringExtra(NotePad.EXTRA_MESSAGE).toString();
注:增加(标题);
Log.d(“数据”,“内部存储数据”);
日志d(“数据”,“标题:”+标题);
}
}
记事活动
公共类记事本扩展AppCompative活动{
公共静态最终字符串EXTRA_MESSAGE=“key”;
ArrayList数据=新的ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u note\u pad);
最终FloatingActionButton=(FloatingActionButton)findViewById(R.id.save_按钮);
setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
SaveData();
}
});
}
公共void SaveData()
{
FileOutputStream输出流;
试一试{
***一些代码***
SendData();
}
catch(filenotfounde异常)
{
e、 printStackTrace();
}
捕获(IOE异常)
{
e、 printStackTrace();
}
}
public void SendData()
{
EditText EditText=findViewById(R.id.textView3);
最后一个字符串str=editText.getText().toString();
意向意向=新意向(NotePad.this,MainActivity.class);
intent.putExtra(额外消息,str);
星触觉(意向);
}
}
当我将onCreate()方法中的(str)作为(title)接收时,一切正常,我收到了数据,但当我尝试在我的addNote()方法中接收意图时,我没有收到意图数据

从onCreate方法调用你的方法addNote()

   public class MainActivity extends AppCompatActivity {

        private RecyclerView recyclerView;
        private RecyclerView.Adapter mAdapter;
        private RecyclerView.LayoutManager layoutManager;
        ArrayList<String> notes = new ArrayList<String>();





        @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        setContentView(R.layout.activity_main);
        notes.add("sql");

        //Intent intent = new Intent(NotePad.this,MainActivity.class);
        //intent.putExtra(EXTRA_MESSAGE,str);
        //startActivity(intent); 

          addNote();

    }

    void addNote()
    {

        Intent intent = this.getIntent();
        String title = intent.getStringExtra(NotePad.EXTRA_MESSAGE).toString();
        notes.add(title);
        Log.d("Data","inside saveData");
        Log.d("Data","title: "+title);

       }

     }
public类MainActivity扩展了AppCompatActivity{
私人回收站;
专用回收器查看适配器mAdapter;
private RecyclerView.LayoutManager LayoutManager;
ArrayList notes=新的ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
注:添加(“sql”);
//意向意向=新意向(NotePad.this,MainActivity.class);
//intent.putExtra(额外消息,str);
//星触觉(意向);
addNote();
}
void addNote()
{
Intent=this.getIntent();
String title=intent.getStringExtra(NotePad.EXTRA_MESSAGE).toString();
注:增加(标题);
Log.d(“数据”,“内部存储数据”);
日志d(“数据”,“标题:”+标题);
}
}

mainActivity是否正在启动NodeActivity?为什么在saveData方法中使用FileOutputStream?请更精确地解释一下,是否从onCreate()方法调用addNote()方法???但是为什么呢?我的意图调用确实有效,即当我调用意图时,我的活动正在切换,但数据未被接收。您的活动可以通过意图切换,但您将在addNote()方法中接收数据。因此,要获取数据,必须从第二个活动调用此方法,否则将不会返回任何数据。
   public class MainActivity extends AppCompatActivity {

        private RecyclerView recyclerView;
        private RecyclerView.Adapter mAdapter;
        private RecyclerView.LayoutManager layoutManager;
        ArrayList<String> notes = new ArrayList<String>();





        @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        setContentView(R.layout.activity_main);
        notes.add("sql");

        //Intent intent = new Intent(NotePad.this,MainActivity.class);
        //intent.putExtra(EXTRA_MESSAGE,str);
        //startActivity(intent); 

          addNote();

    }

    void addNote()
    {

        Intent intent = this.getIntent();
        String title = intent.getStringExtra(NotePad.EXTRA_MESSAGE).toString();
        notes.add(title);
        Log.d("Data","inside saveData");
        Log.d("Data","title: "+title);

       }

     }