user2809321
user2809321

Reputation: 204

onListviewclick is not working

Hi I made a list menu for my android app and I made the other activities that the menu is link to but when I run it and click on the list item it won't link me to the other activity

codes is here

menu.java (updated)

                            package com.example.taekwondobuddy.util;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;


public class Menu extends ListActivity {

String classes[] = {"Tool","Techniques"} ;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setListAdapter(new ArrayAdapter<String>(Menu.this, android.R.layout.simple_list_item_1, classes));
}


@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, position, id);
    String cheese = classes[position];
    try{
    Class ourclass = Class.forName("com.example.taekwondobuddy" + cheese);
    Intent ourIntent = new Intent(Menu.this, ourclass);
    startActivity(ourIntent);
    } catch(ClassNotFoundException e){
        e.printStackTrace();

    }
}

Tools.java

                 package com.example.taekwondobuddy.util;

                import android.app.ListActivity;
                import android.content.Intent;
               import android.os.Bundle;
               import android.view.View;
                import android.widget.ArrayAdapter;
           import android.widget.ListView;

     public class Tools extends ListActivity{

String classes[] = {"Counter","Accelermeter","Timer"} ;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setListAdapter(new ArrayAdapter<String>(Tools.this, android.R.layout.simple_list_item_1, classes));
}


@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, position, id);
    String cheese = classes[position];
    try{
    Class ourclass = Class.forName("com.example.taekwondobuddy" + cheese);
    Intent ourIntent = new Intent(Tools.this, ourclass);
    startActivity(ourIntent);
    } catch(ClassNotFoundException e){
        e.printStackTrace();

    }
}

       }    

Technqiues.java

                package com.example.taekwondobuddy.util;

            import android.app.ListActivity;
            import android.content.Intent;
           import android.os.Bundle;
          import android.view.View;
       import android.widget.ArrayAdapter;
            import android.widget.ListView;

         public class Technqiues extends ListActivity {

String classes[] = {"Kicks","Sparring",} ;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setListAdapter(new ArrayAdapter<String>(Technqiues.this, android.R.layout.simple_list_item_1, classes));
}


@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, position, id);
    String cheese = classes[position];
    try{
    Class ourclass = Class.forName("com.example.taekwondobuddy" + cheese);
    Intent ourIntent = new Intent(Technqiues.this, ourclass);
    startActivity(ourIntent);
    } catch(ClassNotFoundException e){
        e.printStackTrace();

    }
}

    }

the manifest

           <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.taekwondobuddy.util"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="18" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.taekwondobuddy.util.Menu"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/app_name"
        android:theme="@style/FullscreenTheme" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.example.taekwondobuddy.util.Tools"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/app_name"
        android:theme="@style/FullscreenTheme" >
        <intent-filter>
            <action android:name="android.intent.action.Tools" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.example.taekwondobuddy.util.Techniques"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/app_name"
        android:theme="@style/FullscreenTheme" >
        <intent-filter>
            <action android:name="android.intent.action.Techniques" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
</application>


</manifest>

Any ideas what's the problem?

Upvotes: 0

Views: 87

Answers (2)

gifpif
gifpif

Reputation: 4917

change the
within intent-filter tag
action android:name="android.intent.action.Tools
/intent-filter
to
android:name="com.example.taekwondobuddy.util.Tools";

Upvotes: 0

ρяσѕρєя K
ρяσѕρєя K

Reputation: 132992

use

Class ourclass = Class.forName("com.example.taekwondobuddy.util." + cheese);

for getting class name with full package name because currently you are missing .util and also make sure you have added all Activities in AndroidManifest.xml

In classes array "Tkd Buddy" is not valid class name so use right naming conventions for classes

Upvotes: 1

Related Questions