错误OnListItemClick和setListAdapter未定义类型片段

时间:2014-07-13 13:32:20

标签: android list android-fragments fragment android-fragmentactivity

我在onListItemClick错误消息中有错误"对于类型Fragment"未定义onListItemClick(ListView,View,int,long)方法。和setListAdapter错误消息是"方法setListAdapter(SimpleCursorAdapter)未定义类型ReviewFragment",这是我的完整代码,

import android.app.Fragment;
import android.os.Bundle;

import android.support.v4.widget.SimpleCursorAdapter;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.AdapterContextMenuInfo;


import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class ReviewFragment extends Fragment {

private static final int ACTIVITY_CREATE=0;
private static final int ACTIVITY_EDIT=1;

private static final int DELETE_ID = Menu.FIRST;
private int mNoteNumber = 1;

private NotesDbAdapter mDbHelper;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View v = inflater.inflate(R.layout.fragment_review, container, false);

    mDbHelper = new NotesDbAdapter (getActivity());
    mDbHelper.open();
    fillData();

    registerForContextMenu(getView());
    Button addnote = (Button) v.findViewById(R.id.addnotebutton);
    addnote.setOnClickListener(new View.OnClickListener() {     
        @Override
        public void onClick(View v) {
            createNote();
            }
    });return v;
}

public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    // Inflate the menu; this adds items to the action bar if it is present.
    MenuInflater mInflater = getActivity().getMenuInflater();
    mInflater.inflate(R.menu.notelist_menu, menu);

}

private void createNote() {
    Intent i = new Intent(getActivity(), NoteEdit.class);
    startActivityForResult(i, ACTIVITY_CREATE);     
}


public void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);
    Intent i = new Intent(getActivity(), NoteEdit.class);
    i.putExtra(NotesDbAdapter.KEY_ROWID, id);
    startActivityForResult(i, ACTIVITY_EDIT);
}


@SuppressWarnings("deprecation")
private void fillData() {
    Cursor notesCursor = mDbHelper.fetchAllNotes();
    getActivity().startManagingCursor(notesCursor);

    String[] from = new String[] { NotesDbAdapter.KEY_TITLE ,NotesDbAdapter.KEY_DATE};
    int[] to = new int[] { R.id.text1 ,R.id.date_row};

    SimpleCursorAdapter notes =
            new SimpleCursorAdapter(getActivity(), R.layout.note_row, notesCursor, from, to);
        setListAdapter(notes);
    }
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
        ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    menu.add(0, DELETE_ID, 0, R.string.menu_delete);
}

@Override
public boolean onContextItemSelected(MenuItem item) {
    switch(item.getItemId()) {
        case DELETE_ID:
            AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
            mDbHelper.deleteNote(info.id);
            fillData();
            return true;
    }
    return super.onContextItemSelected(item);
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
    fillData();

}  
}

0 个答案:

没有答案