Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 这个代码有问题吗?_Android_Calendar_Syntax Error - Fatal编程技术网

Android 这个代码有问题吗?

Android 这个代码有问题吗?,android,calendar,syntax-error,Android,Calendar,Syntax Error,我试图使用这段代码,这是一个取自这里的示例,但是它在public void onClick上出现了一个错误,它是 这条线上有多个标记 -实现android.view.view.OnClickListener.onClick -语法错误,插入“}”以完成MethodBody,但当我添加大括号时,它只是在多次尝试后抛出另一个错误,并且不同的建议和想法都失败了 这可能是我的语法错误和糟糕的编码(刚开始学习编程),但有没有人知道如何解决这个问题或为我指出正确的方向,我将非常感激 public clas

我试图使用这段代码,这是一个取自这里的示例,但是它在public void onClick上出现了一个错误,它是

这条线上有多个标记 -实现android.view.view.OnClickListener.onClick -语法错误,插入“}”以完成MethodBody,但当我添加大括号时,它只是在多次尝试后抛出另一个错误,并且不同的建议和想法都失败了

这可能是我的语法错误和糟糕的编码(刚开始学习编程),但有没有人知道如何解决这个问题或为我指出正确的方向,我将非常感激

 public class ICSCalendarActivity extends Activity implements View.OnClickListener{

Button button1;

int year1;  
int month1;  
int day1;
int ShiftPattern;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);



    button1 = (Button)findViewById(R.id.openButton);     
    button1.setText("open");   
    button1.setOnClickListener(this);

    Bundle extras = getIntent().getExtras(); 

    year1 = extras.getInt("year1"); 
    day1 = extras.getInt("day1"); 
    month1 = extras.getInt("month1");

    ShiftPattern = extras.getInt("ShiftPattern");
}

public void onClick(View v){

private static void addToCalendar(Context ICSCalendarActivity, final String title, final long dtstart, final long dtend) {
    final ContentResolver cr = ICSCalendarActivity.getContentResolver();
    Cursor cursor ;
    if (Integer.parseInt(Build.VERSION.SDK) >= 8 )
        cursor = cr.query(Uri.parse("content://com.android.calendar/calendars"), new String[]{ "_id", "displayname" }, null, null, null);
    else
        cursor = cr.query(Uri.parse("content://calendar/calendars"), new String[]{ "_id", "displayname" }, null, null, null);
    if ( cursor.moveToFirst() ) {
        final String[] calNames = new String[cursor.getCount()];
        final int[] calIds = new int[cursor.getCount()];
        for (int i = 0; i < calNames.length; i++) {
            calIds[i] = cursor.getInt(0);
            calNames[i] = cursor.getString(1);
            cursor.moveToNext();
        }

        AlertDialog.Builder builder = new AlertDialog.Builder(ICSCalendarActivity);
        builder.setSingleChoiceItems(calNames, -1, new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                ContentValues cv = new ContentValues();
                cv.put("calendar_id", calIds[which]);
                cv.put("title", title);
                cv.put("dtstart", dtstart );
                cv.put("hasAlarm", 1);
                cv.put("dtend", dtend);

                Uri newEvent ;
                if (Integer.parseInt(Build.VERSION.SDK) >= 8 )
                    newEvent = cr.insert(Uri.parse("content://com.android.calendar/events"), cv);
                else
                    newEvent = cr.insert(Uri.parse("content://calendar/events"), cv);

                if (newEvent != null) {
                    long id = Long.parseLong( newEvent.getLastPathSegment() );
                    ContentValues values = new ContentValues();
                    values.put( "event_id", id );
                    values.put( "method", 1 );
                    values.put( "minutes", 15 ); // 15 minutes
                    if (Integer.parseInt(Build.VERSION.SDK) >= 8 )
                        cr.insert( Uri.parse( "content://com.android.calendar/reminders" ), values );
                    else
                        cr.insert( Uri.parse( "content://calendar/reminders" ), values );

                }
                dialog.cancel();
            }

        });

        builder.create().show();
    }
    cursor.close();
}    }
公共类ICSCalendarActivity扩展活动实现View.OnClickListener{
按钮1;
国际年1;
int month1;
int第1天;
int移位模式;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1=(按钮)findViewById(R.id.openButton);
按钮1.设置文本(“打开”);
button1.setOnClickListener(此);
Bundle extras=getIntent().getExtras();
第1年=额外的getInt(“第1年”);
第1天=额外的getInt(“第1天”);
month1=额外的getInt(“month1”);
ShiftPattern=extras.getInt(“ShiftPattern”);
}
公共void onClick(视图v){
私有静态void addToCalendar(上下文活动、最终字符串标题、最终长dtstart、最终长dtend){
final ContentResolver cr=ICSCalendarActivity.getContentResolver();
光标;
if(Integer.parseInt(Build.VERSION.SDK)>=8)
cursor=cr.query(Uri.parse(“content://com.android.calendar/calendars),新字符串[]{“\u id”,“displayname”},null,null,null);
其他的
cursor=cr.query(Uri.parse(“content://calendar/calendars),新字符串[]{“\u id”,“displayname”},null,null,null);
if(cursor.moveToFirst()){
最终字符串[]calNames=新字符串[cursor.getCount()];
final int[]calIds=new int[cursor.getCount()];
对于(int i=0;i=8)
newEvent=cr.insert(Uri.parse(“content://com.android.calendar/events",cv),;
其他的
newEvent=cr.insert(Uri.parse(“content://calendar/events",cv),;
if(newEvent!=null){
long id=long.parseLong(newEvent.getLastPathSegment());
ContentValues=新的ContentValues();
值。put(“事件id”,id);
价值。投入(“方法”,1);
value.put(“分钟”,15);//15分钟
if(Integer.parseInt(Build.VERSION.SDK)>=8)
cr.insert(Uri.parse(“content://com.android.calendar/reminders价值观);
其他的
cr.insert(Uri.parse(“content://calendar/reminders价值观);
}
dialog.cancel();
}
});
builder.create().show();
}
cursor.close();
}    }

谢谢。

onClick
函数中不能有
静态
方法定义
addToCalendar

public class ICSCalendarActivity extends Activity implements View.OnClickListener{

Button button1;

int year1;  
int month1;  
int day1;
int ShiftPattern;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);



    button1 = (Button)findViewById(R.id.openButton);     
    button1.setText("open");   
    button1.setOnClickListener(this);

    Bundle extras = getIntent().getExtras(); 

    year1 = extras.getInt("year1"); 
    day1 = extras.getInt("day1"); 
    month1 = extras.getInt("month1");

    ShiftPattern = extras.getInt("ShiftPattern");
}

public void onClick(View v){
      addToCalendar(mContext, mString, mlong,  mlong); // pass the parameters of the addToCalendar method here 
      }

private static void addToCalendar(Context ICSCalendarActivity, final String title, final long dtstart, final long dtend) {
    final ContentResolver cr = ICSCalendarActivity.getContentResolver();
    Cursor cursor ;
    if (Integer.parseInt(Build.VERSION.SDK) >= 8 )
        cursor = cr.query(Uri.parse("content://com.android.calendar/calendars"), new String[]{ "_id", "displayname" }, null, null, null);
    else
        cursor = cr.query(Uri.parse("content://calendar/calendars"), new String[]{ "_id", "displayname" }, null, null, null);
    if ( cursor.moveToFirst() ) {
        final String[] calNames = new String[cursor.getCount()];
        final int[] calIds = new int[cursor.getCount()];
        for (int i = 0; i < calNames.length; i++) {
            calIds[i] = cursor.getInt(0);
            calNames[i] = cursor.getString(1);
            cursor.moveToNext();
        }

        AlertDialog.Builder builder = new AlertDialog.Builder(ICSCalendarActivity);
        builder.setSingleChoiceItems(calNames, -1, new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                ContentValues cv = new ContentValues();
                cv.put("calendar_id", calIds[which]);
                cv.put("title", title);
                cv.put("dtstart", dtstart );
                cv.put("hasAlarm", 1);
                cv.put("dtend", dtend);

                Uri newEvent ;
                if (Integer.parseInt(Build.VERSION.SDK) >= 8 )
                    newEvent = cr.insert(Uri.parse("content://com.android.calendar/events"), cv);
                else
                    newEvent = cr.insert(Uri.parse("content://calendar/events"), cv);

                if (newEvent != null) {
                    long id = Long.parseLong( newEvent.getLastPathSegment() );
                    ContentValues values = new ContentValues();
                    values.put( "event_id", id );
                    values.put( "method", 1 );
                    values.put( "minutes", 15 ); // 15 minutes
                    if (Integer.parseInt(Build.VERSION.SDK) >= 8 )
                        cr.insert( Uri.parse( "content://com.android.calendar/reminders" ), values );
                    else
                        cr.insert( Uri.parse( "content://calendar/reminders" ), values );

                }
                dialog.cancel();
            }

        });

        builder.create().show();
    }
    cursor.close();
}  
公共类ICSCalendarActivity扩展活动实现View.OnClickListener{
按钮1;
国际年1;
int month1;
int第1天;
int移位模式;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1=(按钮)findViewById(R.id.openButton);
按钮1.设置文本(“打开”);
button1.setOnClickListener(此);
Bundle extras=getIntent().getExtras();
第1年=额外的getInt(“第1年”);
第1天=额外的getInt(“第1天”);
month1=额外的getInt(“month1”);
ShiftPattern=extras.getInt(“ShiftPattern”);
}
公共void onClick(视图v){
addToCalendar(mContext,mString,mlong,mlong);//在此处传递addToCalendar方法的参数
}
私有静态void addToCalendar(上下文活动、最终字符串标题、最终长dtstart、最终长dtend){
final ContentResolver cr=ICSCalendarActivity.getContentResolver();
光标;
if(Integer.parseInt(Build.VERSION.SDK)>=8)
cursor=cr.query(Uri.parse(“content://com.android.calendar/calendars),新字符串[]{“\u id”,“displayname”},null,null,null);
其他的
cursor=cr.query(Uri.parse(“content://calendar/calendars),新字符串[]{“\u id”,“displayname”},null,null,null);
if(cursor.moveToFirst()){
最终字符串[]calNames=新字符串[cursor.getCount()];
final int[]calIds=new int[cursor.getCount()];
对于(int i=0;ipublic void onClick(View v)
{
     addTocalender(context, string, longVal1,  longVal2);
}

private static void addToCalendar(Context ICSCalendarActivity,
        final String title, final long dtstart, final long dtend)
{
 ....
 ....
}