Question

Hi I am trying to make an app that shows a list of items using listView and when the user select one of the items from the list. the app will call the specific class that is link to the item selected however i encountered an error at the second @override, saying that the override must override a super class. Here are my codes for class and xml.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:orientation="vertical" >

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:src="@drawable/botanicgate" />

<ListView
    android:id="@+id/listView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
</ListView>

</LinearLayout>

 package com.fyp.gulliver;

 import android.app.ListActivity;
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.View;
 import android.widget.AdapterView;
 import android.widget.AdapterView.OnItemClickListener;
 import android.widget.ArrayAdapter;
 import android.widget.ImageView;
 import android.widget.ListView;
 import android.widget.TextView;

 public class HotSpot extends ListActivity{
/** Called when the activity is first created. */
String places[] =  {"BotanicGarden", "Sentosa"};
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.hotspot);
    ListView listView = (ListView) findViewById(R.id.listView);
    listView.setAdapter(new ArrayAdapter
            (HotSpot.this, android.R.layout.simple_list_item_1, 
                    places));
    listView.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
            // TODO Auto-generated method stub
            Class ourClass;
            String item = ((TextView)view).getText().toString();
            try {
                ourClass = Class.forName
                        ("com.fyp.gulliver." + item);
                Intent ourIntent = new Intent(HotSpot.this, ourClass);
                startActivity(ourIntent);
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }); 
     }
    }

As i am still new to android, thus i do not know what mistakes i have made, I will be grateful if another one can help me to solve my error thank you :D

Was it helpful?

Solution

Try changing this:

listView.setOnItemClickListener(new OnItemClickListener();

to

listView.setOnItemClickListener(new AdapterView.OnItemClickListener();

and remove the 2nd @Override

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top