I am trying to create a OnItemClick method to launch another activity from my ListView. I am receiving multiple error once the method is created. the error messages are:
The method onListItemClick(ListView, View, int, long) of type LoginList must override or implement a supertype method
The method onListItemClick(ListView, View, int, long) is undefined for the type FragmentActivity
I have tried implementing another method (below) but receive similar errors.I Can anyone point me to what I am doing wrong. examples help most
Method: public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3)
Here is my Class:
public class LoginList extends FragmentActivity implements OnClickListener, AdapterView.OnItemClickListener, LoaderManager.LoaderCallbacks<Cursor> {
private ListView loginList;
private Button webLogin;
private SimpleCursorAdapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login_listview);
loginList = (ListView)findViewById(R.id.loginlist);
loginList.setOnItemClickListener(this);
webLogin = (Button)findViewById(R.id.button3);
webLogin.setOnClickListener(this);
//Specify fileds to display in the list
String[] from = new String[] { ListProvider.COLUMN_NAME_SITE };
//Bind fields to listview
int[] to = new int[] {R.id.nameView };
// Create CursorAdapter and set it to display
adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, null, from, to);
loginList.setAdapter(adapter);
getSupportLoaderManager().initLoader(0, null, this);
}
@Override
public void onListItemClick (ListView l, View v, int position, long id) { // 1.The method onListItemClick(ListView, View, int, long) of type LoginList must override or implement a supertype method
super.onListItemClick (l, v, position, id); //2. The method onListItemClick(ListView, View, int, long) is undefined for the type FragmentActivity
startActivity(new Intent(this, UpdateDeleteLoginList.class)
.putExtra(ListProvider.COLUMN_ROWID, id));
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent webLoginIntent = new Intent (this, LoginPlusActivity.class);
startActivity(webLoginIntent);
}
@Override
public Loader<Cursor> onCreateLoader(int ignored, final Bundle args) {
return new CursorLoader(this, ListProvider.CONTENT_URI, null, null, null, null);
}
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
adapter.swapCursor(cursor);
}
@Override
public void onLoaderReset (Loader<Cursor> loader) {
adapter.swapCursor(null);
}
}
You extend FragmentActivity but don't make use of fragments.
You have 2 options:
1st create fragment extending ListFragment and this is were You implement onClick methods
2nd extend ListActivity instead