我正在Activity使用调用Intent,并且需要Activity在初始化时将变量传递给。在iOS上,您可以使用使用initWithNibName方法的自定义初始化。如何在Android上实现类似的目标?
这是我的代码,创建一个Intent...
Intent myIntent = new Intent(webPush.this, webPushActivity.class);
startActivity(myIntent);
Run Code Online (Sandbox Code Playgroud) 我已经向MainActivity添加了一个带有日期选择器的对话框片段,它工作正常.我现在想将使用日期选择器选择的日期传递给MainActivity调用的新活动.所以我使用意图在MainActivity和新活动之间进行通信.
但是,我如何才能将从对话框片段中选择的日期传递给MainActivity?
public class DatePickerFragment extends DialogFragment
implements DatePickerDialog.OnDateSetListener {
public static String formattedDate = "com.example.myfirstapp.DATEOB";
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
@Override
public void onDateSet(DatePicker view, int year, int month, int day) …Run Code Online (Sandbox Code Playgroud) 我的应用有2个活动.
第一个活动只是一个简单的表单,用户输入课程信息(课程名称,教授等).第一个活动传递应该存储在列表中的数据.
在第二个活动中.问题是只有第一个课程存储在列表中,在第一次没有新的东西被添加到第二个活动.
我怎样才能做到这一点 ?
出现以下错误的原因是什么?
Key Object_list expected Parcelable but value was a java.util.ArrayList. The default value <null> was returned.
Run Code Online (Sandbox Code Playgroud)
这是完整的代码
public class SingleObjectActivity extends Activity
{
public static final String OBJECT_LIST = "Object_list";
private ArrayList<Listitem> Objects;
public ImageView imgview;
private Listitem listObjects;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.singleobject);
Bundle extras = getIntent().getExtras();
imgview = (ImageView) findViewById(R.id.funnyimage);
if (extras.containsKey(OBJECT_LIST)) {
this.listObjects = extras.getParcelable(OBJECT_LIST);
} else {
this.listObjects = null;
}
if (listObjects != null) {
Picasso.
with(getApplicationContext()).
load(listObjects.getUrl())
//load()
.placeholder(R.drawable.logo)
.fit()
.noFade() …Run Code Online (Sandbox Code Playgroud)