Search code examples
androidlistviewonclickmedia-playerfooter

Android footer with onclickListener


I've setup a footer to my list view, next I'm setting up an onclicklistener to it that will play a sound and then go to my next activity but having trouble getting the onclicklistener working for the footer. I've successful done it to other activites but this one is giving me trouble I'm hoping to post the code and someone can explain what I'm doing wrong. I've tried every fix I've found online but nothing seems to work.

import java.util.ArrayList;
import java.util.List;

import android.app.ListActivity;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;

public class editpage extends ListActivity {
    //editCount still unused at time but will grab data inputted into edittext fields
    int editCount;
    private dbadapter mydbhelper;

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

        setContentView(R.layout.edit_list);
        mydbhelper = new dbadapter(this);
        mydbhelper.open();
        fillData();
    }



    private void fillData() {


        Cursor e = mydbhelper.getUserWord();
            startManagingCursor(e);

     // Create an array to specify the fields we want to display in the list 
        String[] from = new String[] {dbadapter.KEY_USERWORD,};

        // an array of the views that we want to bind those fields to 
        int[] to = new int[] {R.id.textType,};

        // Now create a simple cursor adapter and set it to display
       SimpleCursorAdapter editadapter = 
       new SimpleCursorAdapter(this, R.layout.edit_row, e, from, to);
       ListView list = getListView();
       View footer = getLayoutInflater().inflate(R.layout.footer_layout, list, false);
       list.addFooterView(footer);
       setListAdapter(editadapter);
       //still not used, need to get onclicklistener working since this will be used to send data to next activity
       editCount = e.getCount();
        }

       public void onClick(View footer){
       final MediaPlayer editClickSound = MediaPlayer.create(this, R.raw.button50);
            editClickSound.start();
                    };

//This should not be needed since clicking on items in list view will not have a function but read someone to put my footer onclick in here but didn't work for me
@Override
protected void onListItemClick(ListView list, View v, int position, long id)
{
    super.onListItemClick(list, v, position, id);
    //final Intent intent = new Intent(this, title.class);
    //startActivityForResult(intent, position);
    }

TY in advance, btw if I take out the onclicklistener my page displays with the footer but can't move forward with program without getting this step fixed


Solution

  • if you're defining the button in XML, add android:onClick="onClick" to it