package com.mallet.dtool;

import android.app.AlertDialog;
import android.app.TabActivity;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.DialogInterface.OnClickListener;
import android.content.res.Configuration;
import android.database.Cursor;
import android.graphics.Color;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.AdapterView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.TabHost;
import android.widget.TableLayout;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.TabHost.OnTabChangeListener;

public class Sheet extends TabActivity{


        @Override public void onConfigurationChanged(Configuration newConfig)
{ super.onConfigurationChanged(newConfig); }
        DBAdapter db = new DBAdapter(this);
        static Long cRowId;


        //Variable declaration

        public static Integer tabState = 1;


        @Override
        public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sheet);

        db.open();


        //capture Tab4 elements
        aList = (ListView) findViewById(R.id.alist);
        aList.setOnItemClickListener(new OnItemClickListener(){


                        @Override
                        public void onItemClick(AdapterView<?> arg0, View arg1, 
int arg2,
                                        long arg3) {

                                Cursor c = db.getAll(Sheet.charName);


                        c.moveToPosition(arg2 - 1);

                        Builder builder2 = new AlertDialog.Builder(Sheet.this);
                    builder2.setTitle(c.getString(c.getColumnIndexOrThrow
(DBAdapter.KEY_NAME)));
                    builder2.setIcon(R.drawable.equipment);
                    builder2.setMessage(c.getString(c.getColumnIndexOrThrow
(DBAdapter.KEY_DESC)));
                    builder2.setPositiveButton("Ok", null);
                    builder2.show();


                        }

        });
        registerForContextMenu(aList);


        }
        @Override
        public void onResume()
        {
                 super.onResume();

                 fillAList();
        }
        @Override
        public void onDestroy(){
                super.onDestroy();
                db.close();
        }




    @Override
        public void onCreateContextMenu(ContextMenu menu, View v,
                        ContextMenuInfo menuInfo) {

        if(v == aList){
                menu.add(0, 7, 0, "option 1");
        }
        }

    @Override
        public boolean onContextItemSelected(MenuItem item) {
        AdapterContextMenuInfo info = (AdapterContextMenuInfo)
item.getMenuInfo();
        Cursor c = null;
        startManagingCursor(c);
        Long id;
        Integer idInt;

        switch(item.getItemId()) {

        case 7:
                c = db.getInfo(name);
                c.moveToPosition(info.position - 1);
                Intent i = new Intent(this, Select.class);
                i.putExtra(DBAdapter.KEY_NAME, 
c.getString(c.getColumnIndexOrThrow
(DBAdapter.KEY_NAME)));
                startActivity(i);

                return true;
        }

                return super.onContextItemSelected(item);
        }

    public void fillArmorList(){


                Cursor c = db.getAll(Sheet.charName);
                startManagingCursor(c);

                String[] from = new String[]{//DB columns};


                int[] to = new int[]{//Layout Elements};


                SimpleCursorAdapter items = new SimpleCursorAdapter(this,
R.layout.item_row, c, from, to);
                aList.setAdapter(items);
        }



}

On Dec 30, 1:41 pm, JasonMP <[email protected]> wrote:
> Hmm, Ok, I've placed the breakpoint in and everything appears to be
> fine, but it still doesn't work.  This code is essentially a copy/
> paste from another area of my app.  In that instance its being called
> from a ListView contextmenu as well and works fine.  What do you mean
> exactly by catching ALL the exceptions?  Is that something I need to
> add into the code?
>
> On Dec 30, 1:21 pm, "Stephen @ gmail.com" <[email protected]>
> wrote:
>
>
>
> > Sorry if this sounds silly: you might want to set a breakpoint on line:
>
> > startActivity(i);
>
> > when you hit that point, examine "i" carefully.  From your log, I wonder if
> > the act of starting the activity invokes your current code, inducing an
> > infinite loop.  Also, if it were my code, I would want to ensure I catch all
> > uncaught exceptions.  Around your code that you feel is failing, I would
> > catch the general "Exception" as well as the AndroidRuntimeException (cannot
> > remember if I've spelled that perfectly right), and print out the stack
> > frame from the exception that was caught.  that might yield additional info.
>
> > Finally, further assistance from the forum, you may want to include more of
> > your code.  You probably have something special in there you don't want to
> > share... just make what you post generic enough so we can see the construct
> > of your whole activity.
>
> > all the best, steve.
>
> > On Wed, Dec 30, 2009 at 10:10 AM, JasonMP <[email protected]> wrote:
> > > Yes I'm using eclipse.  I use the debugger and when I hit that point
> > > in my app i get the above error in my logcat window.  Is there another
> > > way to debug in eclipse?
>
> > > On Dec 30, 1:01 pm, Matt <[email protected]> wrote:
> > > > I would just step through it with the debugger (assuming you are using
> > > > Eclipse)
>
> > > > On Dec 30, 8:39 am, JasonMP <[email protected]> wrote:
>
> > > > > Anyone know what would cause this error?
>
> > > > > 12-30 10:26:50.858: ERROR/AndroidRuntime(921): Uncaught handler:
> > > > > thread main exiting due to uncaught exception
>
> > > > > 12-30 10:26:50.928: ERROR/AndroidRuntime(921):
> > > > > java.lang.RuntimeException: Unable to stop activity {com.mallet.dtool/
> > > > > com.mallet.dtool.Sheet}: java.lang.NullPointerException
>
> > > > > 12-30 10:26:50.928: ERROR/AndroidRuntime(921):     at
> > > > > android.app.ActivityThread.performStopActivityInner
> > > > > (ActivityThread.java:3124)
>
> > > > > 12-30 10:26:50.928: ERROR/AndroidRuntime(921):     at
> > > > > android.app.ActivityThread.handleStopActivity(ActivityThread.java:
> > > > > 3167)
>
> > > > > 12-30 10:26:50.928: ERROR/AndroidRuntime(921):     at
> > > > > android.app.ActivityThread.access$2400(ActivityThread.java:116)
>
> > > > > 12-30 10:26:50.928: ERROR/AndroidRuntime(921):     at
> > > > > android.app.ActivityThread$H.handleMessage(ActivityThread.java:1810)
>
> > > > > 12-30 10:26:50.928: ERROR/AndroidRuntime(921):     at
> > > > > android.os.Handler.dispatchMessage(Handler.java:99)
>
> > > > > 12-30 10:26:50.928: ERROR/AndroidRuntime(921):     at
> > > > > android.os.Looper.loop(Looper.java:123)
>
> > > > > 12-30 10:26:50.928: ERROR/AndroidRuntime(921):     at
> > > > > android.app.ActivityThread.main(ActivityThread.java:4203)
>
> > > > > 12-30 10:26:50.928: ERROR/AndroidRuntime(921):     at
> > > > > java.lang.reflect.Method.invokeNative(Native Method)
>
> > > > > 12-30 10:26:50.928: ERROR/AndroidRuntime(921):     at
> > > > > java.lang.reflect.Method.invoke(Method.java:521)
>
> > > > > 12-30 10:26:50.928: ERROR/AndroidRuntime(921):     at
> > > > > com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
> > > > > (ZygoteInit.java:791)
>
> > > > > 12-30 10:26:50.928: ERROR/AndroidRuntime(921):     at
> > > > > com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
>
> > > > > 12-30 10:26:50.928: ERROR/AndroidRuntime(921):     at
> > > > > dalvik.system.NativeStart.main(Native Method)
>
> > > > > 12-30 10:26:50.928: ERROR/AndroidRuntime(921): Caused by:
> > > > > java.lang.NullPointerException
>
> > > > > 12-30 10:26:50.928: ERROR/AndroidRuntime(921):     at
> > > > > android.app.Activity.performStop(Activity.java:3604)
>
> > > > > 12-30 10:26:50.928: ERROR/AndroidRuntime(921):     at
> > > > > android.app.ActivityThread.performStopActivityInner
> > > > > (ActivityThread.java:3121)
>
> > > > > 12-30 10:26:50.928: ERROR/AndroidRuntime(921):     ... 11 more
>
> > > > > This is the code it runs when I get the error (this is a context menu
> > > > > option from a listview)
>
> > > > > Cursor c = db.getInfo(name);
> > > > > c.moveToPosition(info.position - 1);
> > > > > Intent i = new Intent(this, Select.class);
> > > > > i.putExtra(name, c.getString(c.getColumnIndexOrThrow
> > > > > (DBAdapter.KEY_NAME)));
>
> > > > > startActivity(i);
>
> > > > > this launches another activity that when opened from other areas of my
> > > > > app work fine.  I checked to see if it had anything to do with the
> > > > > extras and it didn't seem to(i removed them entirely).
>
> > > --
> > > You received this message because you are subscribed to the Google
> > > Groups "Android Developers" group.
> > > To post to this group, send email to [email protected]
> > > To unsubscribe from this group, send email to
> > > [email protected]<android-developers%2Bunsubs
> > >  [email protected]>
> > > For more options, visit this group at
> > >http://groups.google.com/group/android-developers?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to