Welcome to the Java Programming Forums


The professional, friendly Java community. 21,500 members and growing!


The Java Programming Forums are a community of Java programmers from all around the World. Our members have a wide range of skills and they all have one thing in common: A passion to learn and code Java. We invite beginner Java programmers right through to Java professionals to post here and share your knowledge. Become a part of the community, help others, expand your knowledge of Java and enjoy talking with like minded people. Registration is quick and best of all free. We look forward to meeting you.


>> REGISTER NOW TO START POSTING


Members have full access to the forums. Advertisements are removed for registered users.

Results 1 to 16 of 16

Thread: Syntax error on tokens, interfaceheader expected instead

  1. #1
    Junior Member
    Join Date
    Jun 2013
    Posts
    10
    Thanks
    3
    Thanked 0 Times in 0 Posts

    Default Syntax error on tokens, interfaceheader expected instead

    });() <---- THE PROBLEM IS HERE. On clicking on error, these two brackets get selected

    --- Update ---

    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_ful…
    counter = 0;
    add = (Button) findViewById(R.id.bAdd);
    sub = (Button) findViewById(R.id.bSub);
    display = (TextView) findViewById(R.id.tvDispay);
    add.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View arg0) {
    // TODO Auto-generated method stub

    }
    });() <---- THE PROBLEM IS HERE. On clicking on error, these two brackets get selected

    Here's more to the code.

    I've been stuck with this for 2 days now.


  2. #2
    Senior Member PhHein's Avatar
    Join Date
    Mar 2013
    Location
    Germany
    Posts
    609
    My Mood
    Sleepy
    Thanks
    10
    Thanked 93 Times in 86 Posts

    Default Re: Syntax error on tokens, interfaceheader expected instead

    Have tried removing them brackets?

  3. #3
    Junior Member
    Join Date
    Jun 2013
    Posts
    10
    Thanks
    3
    Thanked 0 Times in 0 Posts

    Default Re: Syntax error on tokens, interfaceheader expected instead

    Yes. gives the same error

  4. #4
    Senior Member PhHein's Avatar
    Join Date
    Mar 2013
    Location
    Germany
    Posts
    609
    My Mood
    Sleepy
    Thanks
    10
    Thanked 93 Times in 86 Posts

    Default Re: Syntax error on tokens, interfaceheader expected instead

    But somewhere else, if the brackets are removed. Most likely you have messed up brackets somwhere in your code. Indent everything properly and see whether you've got too many or missing brackets.

  5. #5
    Junior Member
    Join Date
    Jun 2013
    Posts
    10
    Thanks
    3
    Thanked 0 Times in 0 Posts

    Default Re: Syntax error on tokens, interfaceheader expected instead

    I don't see it. I'm very new to programming. Let me know if you can point it out to me.

  6. #6
    Senior Member PhHein's Avatar
    Join Date
    Mar 2013
    Location
    Germany
    Posts
    609
    My Mood
    Sleepy
    Thanks
    10
    Thanked 93 Times in 86 Posts

    Default Re: Syntax error on tokens, interfaceheader expected instead

    Not without seeing all your code. These errors are nasty as the compiler could show a completely different line.

  7. #7
    Junior Member
    Join Date
    Jun 2013
    Posts
    10
    Thanks
    3
    Thanked 0 Times in 0 Posts

    Default Re: Syntax error on tokens, interfaceheader expected instead

    package com.example.first666;

    import com.example.first666.util.SystemUiHider;

    import android.annotation.TargetApi;
    import android.app.Activity;
    import android.os.Build;
    import android.os.Bundle;
    import android.os.Handler;
    import android.view.MotionEvent;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;



    /**
    * An example full-screen activity that shows and hides the system UI (i.e.
    * status bar and navigation/system bar) with user interaction.
    *
    * @see SystemUiHider
    */
    public class FullscreenActivity extends Activity {
    int counter;
    Button add, sub;
    TextView display;
    /**
    * Whether or not the system UI should be auto-hidden after
    * {@link #AUTO_HIDE_DELAY_MILLIS} milliseconds.
    */
    private static final boolean AUTO_HIDE = true;

    /**
    * If {@link #AUTO_HIDE} is set, the number of milliseconds to wait after
    * user interaction before hiding the system UI.
    */
    private static final int AUTO_HIDE_DELAY_MILLIS = 3000;

    /**
    * If set, will toggle the system UI visibility upon interaction. Otherwise,
    * will show the system UI visibility upon interaction.
    */
    private static final boolean TOGGLE_ON_CLICK = true;

    /**
    * The flags to pass to {@link SystemUiHider#getInstance}.
    */
    private static final int HIDER_FLAGS = SystemUiHider.FLAG_HIDE_NAVIGATION;

    /**
    * The instance of the {@link SystemUiHider} for this activity.
    */
    private SystemUiHider mSystemUiHider;

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_fullscreen);
    counter = 0;
    add = (Button) findViewById(R.id.bAdd);
    sub = (Button) findViewById(R.id.bSub);
    display = (TextView) findViewById(R.id.tvDispay);
    add.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View arg0) {
    // TODO Auto-generated method stub

    }
    });() {

    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    counter++;
    display.setText("Your total is " + counter);
    }
    };
    sub.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    counter--;
    display.setText("Your total is " + counter);
    }
    });

    final View controlsView = findViewById(R.id.fullscreen_content_controls);
    final View contentView = findViewById(R.id.fullscreen_content);

    // Set up an instance of SystemUiHider to control the system UI for
    // this activity.
    mSystemUiHider = SystemUiHider.getInstance(this, contentView,
    HIDER_FLAGS);
    mSystemUiHider.setup();
    mSystemUiHider
    .setOnVisibilityChangeListener(new SystemUiHider.OnVisibilityChangeListener() {
    // Cached values.
    int mControlsHeight;
    int mShortAnimTime;

    @Override
    @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)
    public void onVisibilityChange(boolean visible) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
    // If the ViewPropertyAnimator API is available
    // (Honeycomb MR2 and later), use it to animate the
    // in-layout UI controls at the bottom of the
    // screen.
    if (mControlsHeight == 0) {
    mControlsHeight = controlsView.getHeight();
    }
    if (mShortAnimTime == 0) {
    mShortAnimTime = getResources().getInteger(
    android.R.integer.config_shortAnimTime);
    }
    controlsView
    .animate()
    .translationY(visible ? 0 : mControlsHeight)
    .setDuration(mShortAnimTime);
    } else {
    // If the ViewPropertyAnimator APIs aren't
    // available, simply show or hide the in-layout UI
    // controls.
    controlsView.setVisibility(visible ? View.VISIBLE
    : View.GONE);
    }

    if (visible && AUTO_HIDE) {
    // Schedule a hide().
    delayedHide(AUTO_HIDE_DELAY_MILLIS);
    }
    }
    });

    // Set up the user interaction to manually show or hide the system UI.
    contentView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    if (TOGGLE_ON_CLICK) {
    mSystemUiHider.toggle();
    } else {
    mSystemUiHider.show();
    }
    }
    });

    // Upon interacting with UI controls, delay any scheduled hide()
    // operations to prevent the jarring behavior of controls going away
    // while interacting with the UI.
    findViewById(R.id.dummy_button).setOnTouchListener (
    mDelayHideTouchListener);
    }

    @Override
    public void onPostCreate(Bundle savedInstanceState) {
    super.onPostCreate(savedInstanceState);

    // Trigger the initial hide() shortly after the activity has been
    // created, to briefly hint to the user that UI controls
    // are available.
    delayedHide(100);
    }

    /**
    * Touch listener to use for in-layout UI controls to delay hiding the
    * system UI. This is to prevent the jarring behavior of controls going away
    * while interacting with activity UI.
    */
    View.OnTouchListener mDelayHideTouchListener = new View.OnTouchListener() {
    @Override
    public boolean onTouch(View view, MotionEvent motionEvent) {
    if (AUTO_HIDE) {
    delayedHide(AUTO_HIDE_DELAY_MILLIS);
    }
    return false;
    }
    };

    Handler mHideHandler = new Handler();
    Runnable mHideRunnable = new Runnable() {
    @Override
    public void run() {
    mSystemUiHider.hide();
    }
    };

    /**
    * Schedules a call to hide() in [delay] milliseconds, canceling any
    * previously scheduled calls.
    */
    public void delayedHide(int delayMillis) {
    mHideHandler.removeCallbacks(mHideRunnable);
    mHideHandler.postDelayed(mHideRunnable, delayMillis);
    }
    }



    Here's the complete code.

  8. #8
    Senior Member PhHein's Avatar
    Join Date
    Mar 2013
    Location
    Germany
    Posts
    609
    My Mood
    Sleepy
    Thanks
    10
    Thanked 93 Times in 86 Posts

    Default Re: Syntax error on tokens, interfaceheader expected instead

    add.setOnClickListener(new View.OnClickListener() {
    is broken, you've overridden onClick() twice. Copy that part from sub.setOnClickListener and it should be OK.
    Please wrap your code in code tags: [code]code here [/code]

  9. The Following User Says Thank You to PhHein For This Useful Post:

    Judas (June 5th, 2013)

  10. #9
    Junior Member
    Join Date
    Jun 2013
    Posts
    10
    Thanks
    3
    Thanked 0 Times in 0 Posts

    Default Re: Syntax error on tokens, interfaceheader expected instead

    You mean I need to cut out onClick() from sub.setOnClickListener? I'm still not clear. If you could help me out again. Thank you for your responses. I appreciate it.

  11. #10
    Senior Member PhHein's Avatar
    Join Date
    Mar 2013
    Location
    Germany
    Posts
    609
    My Mood
    Sleepy
    Thanks
    10
    Thanked 93 Times in 86 Posts

    Default Re: Syntax error on tokens, interfaceheader expected instead

    No, you just copy that part:
    		add.setOnClickListener(new View.OnClickListener() {
     
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				counter++;
    				display.setText("Your total is " + counter);
    			}
    		});

  12. The Following User Says Thank You to PhHein For This Useful Post:

    Judas (June 5th, 2013)

  13. #11
    Junior Member
    Join Date
    Jun 2013
    Posts
    10
    Thanks
    3
    Thanked 0 Times in 0 Posts

    Default Re: Syntax error on tokens, interfaceheader expected instead

    Copy that part to? Could you post that part of the program where you want me to make the changes?

  14. #12
    Senior Member PhHein's Avatar
    Join Date
    Mar 2013
    Location
    Germany
    Posts
    609
    My Mood
    Sleepy
    Thanks
    10
    Thanked 93 Times in 86 Posts

    Default Re: Syntax error on tokens, interfaceheader expected instead

    Man, that is the change.

  15. The Following User Says Thank You to PhHein For This Useful Post:

    Judas (June 5th, 2013)

  16. #13
    Junior Member
    Join Date
    Jun 2013
    Posts
    10
    Thanks
    3
    Thanked 0 Times in 0 Posts

    Default Re: Syntax error on tokens, interfaceheader expected instead

    Err. But where do I make the change. I don't mean to sound dumb, but I don't know what part of program you're talking about, and what exactly is the chane I'm supposed to make.

    --- Update ---

    I made the changes you asked me too. Now it selects 'pl' from the word display in the part of the code you asked me to change, and it gives the same error.

    --- Update ---

    package com.example.first666;
     
    import com.example.first666.util.SystemUiHider;
     
    import android.annotation.TargetApi;
    import android.app.Activity;
    import android.os.Build;
    import android.os.Bundle;
    import android.os.Handler;
    import android.view.MotionEvent;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
     
    /**
     * An example full-screen activity that shows and hides the system UI (i.e.
     * status bar and navigation/system bar) with user interaction.
     * 
     * @see SystemUiHider
     */
    public class FullscreenActivity extends Activity {
    	int counter;
    	Button add, sub;
    	TextView display;
    	/**
    	 * Whether or not the system UI should be auto-hidden after
    	 * {@link #AUTO_HIDE_DELAY_MILLIS} milliseconds.
    	 */
    	private static final boolean AUTO_HIDE = true;
     
    	/**
    	 * If {@link #AUTO_HIDE} is set, the number of milliseconds to wait after
    	 * user interaction before hiding the system UI.
    	 */
    	private static final int AUTO_HIDE_DELAY_MILLIS = 3000;
     
    	/**
    	 * If set, will toggle the system UI visibility upon interaction. Otherwise,
    	 * will show the system UI visibility upon interaction.
    	 */
    	private static final boolean TOGGLE_ON_CLICK = true;
     
    	/**
    	 * The flags to pass to {@link SystemUiHider#getInstance}.
    	 */
    	private static final int HIDER_FLAGS = SystemUiHider.FLAG_HIDE_NAVIGATION;
     
    	/**
    	 * The instance of the {@link SystemUiHider} for this activity.
    	 */
    	private SystemUiHider mSystemUiHider;
     
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
     
    		setContentView(R.layout.activity_fullscreen);
    		counter = 0;
    		add = (Button) findViewById(R.id.bAdd);
    		sub = (Button) findViewById(R.id.bSub);
    		display = (TextView) findViewById(R.id.tvDispay);
    		add.setOnClickListener(new View.OnClickListener() {
     
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				counter++;
    				display.setText("Your total is " + counter);
    			}
    		});
    		sub.setOnClickListener(new View.OnClickListener() {
     
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				counter--;
    				display.setText("Your total is " + counter);
    			}
    		});
     
    		final View controlsView = findViewById(R.id.fullscreen_content_controls);
    		final View contentView = findViewById(R.id.fullscreen_content);
     
    		// Set up an instance of SystemUiHider to control the system UI for
    		// this activity.
    		mSystemUiHider = SystemUiHider.getInstance(this, contentView,
    				HIDER_FLAGS);
    		mSystemUiHider.setup();
    		mSystemUiHider
    				.setOnVisibilityChangeListener(new SystemUiHider.OnVisibilityChangeListener() {
    					// Cached values.
    					int mControlsHeight;
    					int mShortAnimTime;
     
    					@Override
    					@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)
    					public void onVisibilityChange(boolean visible) {
    						if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
    							// If the ViewPropertyAnimator API is available
    							// (Honeycomb MR2 and later), use it to animate the
    							// in-layout UI controls at the bottom of the
    							// screen.
    							if (mControlsHeight == 0) {
    								mControlsHeight = controlsView.getHeight();
    							}
    							if (mShortAnimTime == 0) {
    								mShortAnimTime = getResources().getInteger(
    										android.R.integer.config_shortAnimTime);
    							}
    							controlsView
    									.animate()
    									.translationY(visible ? 0 : mControlsHeight)
    									.setDuration(mShortAnimTime);
    						} else {
    							// If the ViewPropertyAnimator APIs aren't
    							// available, simply show or hide the in-layout UI
    							// controls.
    							controlsView.setVisibility(visible ? View.VISIBLE
    									: View.GONE);
    						}
     
    						if (visible && AUTO_HIDE) {
    							// Schedule a hide().
    							delayedHide(AUTO_HIDE_DELAY_MILLIS);
    						}
    					}
    				});
     
    		// Set up the user interaction to manually show or hide the system UI.
    		contentView.setOnClickListener(new View.OnClickListener() {
    			@Override
    			public void onClick(View view) {
    				if (TOGGLE_ON_CLICK) {
    					mSystemUiHider.toggle();
    				} else {
    					mSystemUiHider.show();
    				}
    			}
    		});
     
    		// Upon interacting with UI controls, delay any scheduled hide()
    		// operations to prevent the jarring behavior of controls going away
    		// while interacting with the UI.
    		findViewById(R.id.dummy_button).setOnTouchListener(
    				mDelayHideTouchListener);
    	}
     
    	@Override
    	public void onPostCreate(Bundle savedInstanceState) {
    		super.onPostCreate(savedInstanceState);
     
    		// Trigger the initial hide() shortly after the activity has been
    		// created, to briefly hint to the user that UI controls
    		// are available.
    		delayedHide(100);
    	}
     
    	/**
    	 * Touch listener to use for in-layout UI controls to delay hiding the
    	 * system UI. This is to prevent the jarring behavior of controls going away
    	 * while interacting with activity UI.
    	 */
    	View.OnTouchListener mDelayHideTouchListener = new View.OnTouchListener() {
    		@Override
    		public boolean onTouch(View view, MotionEvent motionEvent) {
    			if (AUTO_HIDE) {
    				delayedHide(AUTO_HIDE_DELAY_MILLIS);
    			}
    			return false;
    		}
    	};
     
    	Handler mHideHandler = new Handler();
    	Runnable mHideRunnable = new Runnable() {
    		@Override
    		public void run() {
    			mSystemUiHider.hide();
    		}
    	};
     
    	/**
    	 * Schedules a call to hide() in [delay] milliseconds, canceling any
    	 * previously scheduled calls.
    	 */
    	public void delayedHide(int delayMillis) {
    		mHideHandler.removeCallbacks(mHideRunnable);
    		mHideHandler.postDelayed(mHideRunnable, delayMillis);
    	}
    }

    This is the code after corrections, and I still get the same error.

  17. #14
    Super Moderator jps's Avatar
    Join Date
    Jul 2012
    Posts
    2,642
    My Mood
    Daring
    Thanks
    90
    Thanked 263 Times in 232 Posts

    Default Re: Syntax error on tokens, interfaceheader expected instead

    Quote Originally Posted by Judas View Post
    This is the code after corrections, and I still get the same error.
    Please post the full text of the error message. Browsing all of that black and white text makes my old eyes cross.

  18. #15
    Junior Member
    Join Date
    Jun 2013
    Posts
    10
    Thanks
    3
    Thanked 0 Times in 0 Posts

    Default Re: Syntax error on tokens, interfaceheader expected instead

    06-05 14:52:46.269: E/Trace(466): error opening trace file: No such file or directory (2)
    06-05 14:52:48.300: D/AndroidRuntime(466): Shutting down VM
    06-05 14:52:48.309: W/dalvikvm(466): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
    06-05 14:52:48.360: E/AndroidRuntime(466): FATAL EXCEPTION: main
    06-05 14:52:48.360: E/AndroidRuntime(466): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.first666/com.example.first666.FullscreenActivity}: java.lang.NullPointerException
    06-05 14:52:48.360: E/AndroidRuntime(466): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
    06-05 14:52:48.360: E/AndroidRuntime(466): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
    06-05 14:52:48.360: E/AndroidRuntime(466): 	at android.app.ActivityThread.access$600(ActivityThread.java:141)
    06-05 14:52:48.360: E/AndroidRuntime(466): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
    06-05 14:52:48.360: E/AndroidRuntime(466): 	at android.os.Handler.dispatchMessage(Handler.java:99)
    06-05 14:52:48.360: E/AndroidRuntime(466): 	at android.os.Looper.loop(Looper.java:137)
    06-05 14:52:48.360: E/AndroidRuntime(466): 	at android.app.ActivityThread.main(ActivityThread.java:5041)
    06-05 14:52:48.360: E/AndroidRuntime(466): 	at java.lang.reflect.Method.invokeNative(Native Method)
    06-05 14:52:48.360: E/AndroidRuntime(466): 	at java.lang.reflect.Method.invoke(Method.java:511)
    06-05 14:52:48.360: E/AndroidRuntime(466): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    06-05 14:52:48.360: E/AndroidRuntime(466): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
    06-05 14:52:48.360: E/AndroidRuntime(466): 	at dalvik.system.NativeStart.main(Native Method)
    06-05 14:52:48.360: E/AndroidRuntime(466): Caused by: java.lang.NullPointerException
    06-05 14:52:48.360: E/AndroidRuntime(466): 	at com.example.first666.FullscreenActivity.onCreate(FullscreenActivity.java:62)
    06-05 14:52:48.360: E/AndroidRuntime(466): 	at android.app.Activity.performCreate(Activity.java:5104)
    06-05 14:52:48.360: E/AndroidRuntime(466): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
    06-05 14:52:48.360: E/AndroidRuntime(466): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
    06-05 14:52:48.360: E/AndroidRuntime(466): 	... 11 more
    06-05 14:53:28.219: I/Process(466): Sending signal. PID: 466 SIG: 9

    Here's the LogCat

  19. #16
    Super Moderator jps's Avatar
    Join Date
    Jul 2012
    Posts
    2,642
    My Mood
    Daring
    Thanks
    90
    Thanked 263 Times in 232 Posts

    Default Re: Syntax error on tokens, interfaceheader expected instead

    Thread locked as a duplicate on a new topic

Similar Threads

  1. [SOLVED] Syntax error on token "extends", throws expected
    By Purple01 in forum What's Wrong With My Code?
    Replies: 4
    Last Post: November 16th, 2012, 07:29 AM
  2. Syntax error on token ";", { expected after this token please HELP
    By Creeper in forum What's Wrong With My Code?
    Replies: 6
    Last Post: March 1st, 2012, 03:12 PM
  3. un-expected error
    By arvindbis in forum What's Wrong With My Code?
    Replies: 0
    Last Post: October 21st, 2011, 09:02 AM
  4. Syntax error on token ";", @ expected after this token
    By MagicMojo in forum What's Wrong With My Code?
    Replies: 1
    Last Post: March 16th, 2011, 07:48 AM
  5. Replies: 3
    Last Post: February 22nd, 2011, 08:43 PM

Tags for this Thread