使用putExtra与int(Android)

时间:2015-08-03 15:18:23

标签: android

我正在开发日历:

public class CalendarAdapter extends BaseAdapter {

private final int EXTRA_DAY = 0;
private final int EXTRA_MONTH = 0;
private final int EXTRA_YEAR= 0;

public View getView(int position, View view, ViewGroup parent) {

Intent intent = new Intent(view.getContext(), AddEvent.class);
intent.putExtra(EXTRA_DAY, currentItem.day);
intent.putExtra(EXTRA_MONTH, currentItem.month);
intent.putExtra(EXTRA_YEAR, currentItem.year);
view.getContext().startActivity(intent);

} }

我有这个错误:"无法解决此方法' putExtra(int,int)'。

非常感谢!

3 个答案:

答案 0 :(得分:2)

putExtra方法始终以String作为第一个参数。

有可用的所有方法的列表: Documentation

答案 1 :(得分:0)

您应该了解putExtra()方法的工作原理。

如果您查看Intent Android Documentation,您会注意到putExtra()函数将String作为其第一个参数,该参数指的是额外的名称,以及一些数据类型(例如String,boolean,Byte []等)作为它的第二个参数。例如:

String name = "Some text";
int dayOfYear = 5;

public void intent(){
    Intent someIntent = new Intent(this, MapActivity.class);
    someIntent.putExtra("myname", name);
    someIntent.putExtra("today",dayOfYear);
    startActivity(someIntent);
}

答案 2 :(得分:0)

与此交换:

intent.putExtra("EXTRA_DAY", currentItem.day);
intent.putExtra("EXTRA_MONTH", currentItem.month);
intent.putExtra("EXTRA_YEAR", currentItem.year);

稍后当您想要读取intent中的数据时,请使用

Intent i = getIntent();
int day = i.getIntExtra("EXTRA_DAY");
int month = i.getIntExtra("EXTRA_MONTH");
int year = i.getIntExtra("EXTRA_YEAR");