java在安卓 studio中的活动之间传递数据
我正在开发一个应用程序,需要将信息从我的新活动传递到我的主要活动
一开始我试着不使用两个活动,而是使用editText,然后将信息传递给textView
public class MainActivity extends AppCompatActivity implements
DatePickerDialog.OnDateSetListener,TimePickerDialog.OnTimeSetListener{
private static int PLACE = 0;
private ArrayList<TextView> notes = new ArrayList<TextView>();
private FloatingActionButton makeNoteFloatingActionButton,saveFloatingActionButton;
private Button setTimeButton;
private int day,month,year,hour,minute;
private int dayFinal,monthFinal,yearFinal,hourFinal,minuteFinal;
private String savedNote;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
makeNoteFloatingActionButton = (FloatingActionButton)findViewById(R.id.makeNoteFloatingActionButton);
saveFloatingActionButton = (FloatingActionButton)findViewById(R.id.saveFloatingActionButton);
setTimeButton = (Button)findViewById(R.id.setTimeButton);
makeNoteFloatingActionButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,pop.class);
intent.putExtra("note",);
startActivity(intent);
}
});
另一类
public class MainActivity extends AppCompatActivity implements
DatePickerDialog.OnDateSetListener,TimePickerDialog.OnTimeSetListener{
private static int PLACE = 0;
private ArrayList<TextView> notes = new ArrayList<TextView>();
private FloatingActionButton makeNoteFloatingActionButton,saveFloatingActionButton;
private Button setTimeButton;
private int day,month,year,hour,minute;
private int dayFinal,monthFinal,yearFinal,hourFinal,minuteFinal;
private String savedNote;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
makeNoteFloatingActionButton = (FloatingActionButton)findViewById(R.id.makeNoteFloatingActionButton);
saveFloatingActionButton = (FloatingActionButton)findViewById(R.id.saveFloatingActionButton);
setTimeButton = (Button)findViewById(R.id.setTimeButton);
makeNoteFloatingActionButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,pop.class);
intent.putExtra("note",);
startActivity(intent);
}
});
我的目标是编写我需要的文本,并以文本视图的形式将其传递给主要活动
# 1 楼答案
最好的解决方案是使用startActivityforResult()。这样,您就可以始终完成返回EditText值的第二个活动
将第一个活动中的startActivity()替换为startActivityForResult()
在第二个活动中,从EdiText获取值后,执行以下操作
意图=新意图(); 意图putExtra(“注释”、“编辑文本值”)
//设置结果并完成此活动
从活动1中的onActivityResult()中获取“note”的键值
@Override ActivityResult上受保护的void(int请求代码、int结果代码、意图数据){
switch (requestCode) { case 101: // unique request code to obtain the intent data if (resultCode == RESULT_OK) { String note = data.getStringExtra(“note”); } break; } }
还要确保使用正确的命名约定,使用Pop作为类名,而不是Pop
# 2 楼答案
主要活动:
另一个类: