[英]Receiving data using Intent
我正在尝试使用 Intent 从我的 NoteActivity 发送一些数据到 MainActivity 类的方法(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);
}
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);
}
}
NoteActivity
public class NotePad extends AppCompatActivity {
public static final String EXTRA_MESSAGE = "key";
ArrayList<String> data = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_note_pad);
final FloatingActionButton button = (FloatingActionButton)findViewById(R.id.save_button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SaveData();
}
});
}
public void SaveData()
{
FileOutputStream outputStream;
try {
***Some code***
SendData();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
public void SendData()
{
EditText editText = findViewById(R.id.textView3);
final String str = editText.getText().toString();
Intent intent = new Intent(NotePad.this,MainActivity.class);
intent.putExtra(EXTRA_MESSAGE,str);
startActivity(intent);
}
}
当我在 onCreate() 方法中接收 (str) as(title) 时,一切正常并且我收到数据,但是当我尝试在 addNote() 方法中接收 Intent 时,我没有收到 Intent 数据
从 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);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.