java.lang.IllegalStateException: no se puede encontrar el método onClick del botón en Android Studio

Estoy creando una aplicación llamada Ping en Android Studio. Hasta ahora, mis actividades son LoginActivity ProfileActivity y Timeline. Mi problema es que un botón en el diseño correspondiente a la actividad de la línea de tiempo tiene un método onClick que no funciona. Cuando se hace clic en el botón, el emulador muestra "Desafortunadamente, Ping se ha detenido". Estoy definiendo los botones y los métodos onClick de la misma manera que tengo para otros botones cuyas funciones están funcionando, solo que este no parece funcionar. Recibo un error que dice que no se puede encontrar el método, pero he escrito el método en la actividad correspondiente. Aquí está el logcat:

04-30 10:40:08.727    2075-2075/com.ping_social.www.ping E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.ping_social.www.ping, PID: 2075
    java.lang.IllegalStateException: Could not find a method onProfilePress(View) in the activity class android.view.ContextThemeWrapper for onClick handler on view class android.widget.Button with id 'profileButton'
            at android.view.View$1.onClick(View.java:4007)
            at android.view.View.performClick(View.java:4780)
            at android.view.View$PerformClick.run(View.java:19866)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5257)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
     Caused by: java.lang.NoSuchMethodException: onProfilePress [class android.view.View]
            at java.lang.Class.getMethod(Class.java:664)
            at java.lang.Class.getMethod(Class.java:643)
            at android.view.View$1.onClick(View.java:4000)
            at android.view.View.performClick(View.java:4780)
            at android.view.View$PerformClick.run(View.java:19866)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5257)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

Aquí está mi clase de actividad de línea de tiempo:

package com.ping_social.www.ping;

import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

public class TimeLine extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_time_line);

        /*print log that shows we've got here*/
        Log.i("LoginActivity", "Layout has been set");
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_time_line, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }

    /*called when user presses the Log in button*/
    public void onProfilePress(View view){
        /*Log the button press*/
        Log.i("TimeLine", "Has reached the onProfilePress method");

        Intent intent = new Intent(this, ProfileActivity.class);
        startActivity(intent);
    }
}

Y aquí está mi código xml de diseño de línea de tiempo:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:theme="@style/GeneralTheme"
    tools:context="com.ping_social.www.ping.TimeLine">

    <TextView android:text="@string/no_pings" android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="30sp"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:textIsSelectable="false"
        android:textColor="@color/PING_TOP_BAR_RED"
        android:id="@+id/textView4" />

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="60dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/timeline_button"
            android:id="@+id/timelineButton"
            android:textColor="@color/PING_TOP_BAR_RED"
            android:layout_weight="1"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/new_ping_button"
            android:id="@+id/newPingButton"
            android:layout_weight="1"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/activity_button"
            android:id="@+id/activityButton"
            android:layout_weight="1"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/profile_button"
            android:id="@+id/profileButton"
            android:layout_weight="1"
            android:onClick="onProfilePress"/>
    </LinearLayout>

</RelativeLayout>

Estoy bastante seguro de que no hay problemas de ortografía, y tampoco hay otros botones que compartan la misma ID o métodos que compartan el mismo nombre. Estuve atrapado en esto durante unos días, ¡cualquier ayuda es muy apreciada!

Respuestas a la pregunta(1)

Su respuesta a la pregunta