yes, Select.class is another one of my files. throughout my app there
are a few different calls to it, all done the same way i.e. "Intent i
= new Intent(this, Select.class); startActivity(i);"
No where in Select.class do I make a call to start Select.class or
Sheet.class. When its done it calls finish();
in the onCreate() of Select.class I grab the extras from the invoking
class with this line of code:
public class Select extends ListActivity{
DBAdapter db = new DBAdapter(this);
String slotName = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
db.open();
ListView list = getListView();
View v = View.inflate(this, R.layout.list_header, null);
list.addHeaderView(v, null, false);
name = this.getIntent().getStringExtra(DBAdapter.KEY_NAME);
}
Could it be something in the .getIntent() method? or
the .getStringExtra()?
On Dec 30, 7:19 pm, "Stephen @ gmail.com" <[email protected]>
wrote:
> Now that I understand your intent creation a little better, and I see that
> the intent you are creating is unique from the class in which the code
> exists, I am not quite sure how it could be an infinite loop in the
> (immediate) way I was thinking.
>
> Reading this code
>
> Intent i = new Intent(this, Select.class);
>
> I have to start thinking there's something wrong with this. I tried to look
> up the "Select" class on the android developers site, and couldn't find it.
> Is that a class from another of your files? I guess I would wonder if the
> code being invoked there, is somehow causing this class to be invoked, thus
> causing some kind of loop. I would grep for any reference to your Sheet
> class, from anywhere else in your code, and that would likely be suspect.
>
> In general, the below is kind of a side topic, to maybe help you with
> generic debugging.
>
> All the Best, Steve.
>
> *Ok... the only thing I can think to really help you is to start taking
> advantage of logging. In your import list, I see you don't include the
> logger code, so maybe you can give this a shot.
>
> 1) in the import list
>
> import android.util.Log;
>
> 2) and throughout your code
>
> Log.d( TAG, DebugText );
>
> where TAG is a string that is unique to you, and "DebugText" is something
> useful to identify the part of the program you're interested in.
>
> *
>
>
>
> On Wed, Dec 30, 2009 at 11:32 AM, JasonMP <[email protected]> wrote:
> > Ok, I'm suddenly very curious by your previous statement stephen about
> > the possibility of creating an infinite loop. Upon a little more
> > investigation I'm now getting errors all over the place...same
> > error....just at different points in the app where I try to
> > startActivity(intent); As soon as the new activity receives focus is
> > crashes.
>
> > On Dec 30, 1:58 pm, JasonMP <[email protected]> wrote:
> > > 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:
>
> ...
>
> read more »
--
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