android 如何使用intent返回数据给mainActivity
android how to use intent to give back data to mainActivity
我有 DialogSheet Acivity 类似的形式我想将数据发送到 MainActivity 如何尝试了很多但从来没有工作
保存按钮获取用户的所有信息然后保存,但我不知道如何将其发送到主
Save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// take all the information form the user then save it to the card
// i used getActivity instead of MyclassName.this bcs it did not work
Intent intent = new Intent(getActivity(),MainActivity.class);
String Sname =Name.getText().toString();
String Sweight = Weight.getText().toString();
String Sdate = SelectDate.getText().toString();
// intent send to MainActivity
intent.putExtra("ExtraName",Sname);
intent.putExtra("ExtraWeight",Sweight);
intent.putExtra("ExtraDate",Sdate);
// it did not work i dont know why
MainActivity.logArrayList.add(new Log(Sname,Sweight,Sdate));
startActivity(intent);
}
});
return v;
}
我如何在 MainActivity 中使用 intent 我尝试在 DialogSheet Acivity 中使用 insert() 但它唯一的问题请帮助我
protected void onCreate(Bundle savedInstanceState) {
Intent intent = getIntent();
String Bname = intent.getStringExtra("ExtraName");
String Bweight = intent.getStringExtra("ExtraWeight");
String Bdate = intent.getStringExtra("ExtraDate");
}
public void insert(){
logArrayList.add(new Log(Bname,Bweight,Bdate));
LogAdapter.notifyDataSetChanged();
}
使用 Bundle 恢复数据。
protected void onCreate(Bundle savedInstanceState) {
Bundle b = getIntent().getExtras();
String Bname = b.getStringExtra("ExtraName");
String Bweight = b.getStringExtra("ExtraWeight");
String Bdate = b.getStringExtra("ExtraDate");
}
如果您从 MainActivity
呼叫 DialogSheet
,您可以这样做:
像这样向您的 MainActivity
添加一个方法:
void addCard(String name, String weight, String date){
// here add item to list
}
并将 DialogSheet
处的点击侦听器代码更改为:
Save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// take all the information form the user then save it to the card
((MainActivity) getActivity()).addCard(
Name.getText().toString(),
Weight.getText().toString(),
SelectDate.getText().toString()
);
}
});
}
我有 DialogSheet Acivity 类似的形式我想将数据发送到 MainActivity 如何尝试了很多但从来没有工作
保存按钮获取用户的所有信息然后保存,但我不知道如何将其发送到主
Save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// take all the information form the user then save it to the card
// i used getActivity instead of MyclassName.this bcs it did not work
Intent intent = new Intent(getActivity(),MainActivity.class);
String Sname =Name.getText().toString();
String Sweight = Weight.getText().toString();
String Sdate = SelectDate.getText().toString();
// intent send to MainActivity
intent.putExtra("ExtraName",Sname);
intent.putExtra("ExtraWeight",Sweight);
intent.putExtra("ExtraDate",Sdate);
// it did not work i dont know why
MainActivity.logArrayList.add(new Log(Sname,Sweight,Sdate));
startActivity(intent);
}
});
return v;
}
我如何在 MainActivity 中使用 intent 我尝试在 DialogSheet Acivity 中使用 insert() 但它唯一的问题请帮助我
protected void onCreate(Bundle savedInstanceState) {
Intent intent = getIntent();
String Bname = intent.getStringExtra("ExtraName");
String Bweight = intent.getStringExtra("ExtraWeight");
String Bdate = intent.getStringExtra("ExtraDate");
}
public void insert(){
logArrayList.add(new Log(Bname,Bweight,Bdate));
LogAdapter.notifyDataSetChanged();
}
使用 Bundle 恢复数据。
protected void onCreate(Bundle savedInstanceState) {
Bundle b = getIntent().getExtras();
String Bname = b.getStringExtra("ExtraName");
String Bweight = b.getStringExtra("ExtraWeight");
String Bdate = b.getStringExtra("ExtraDate");
}
如果您从 MainActivity
呼叫 DialogSheet
,您可以这样做:
像这样向您的 MainActivity
添加一个方法:
void addCard(String name, String weight, String date){
// here add item to list
}
并将 DialogSheet
处的点击侦听器代码更改为:
Save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// take all the information form the user then save it to the card
((MainActivity) getActivity()).addCard(
Name.getText().toString(),
Weight.getText().toString(),
SelectDate.getText().toString()
);
}
});
}