0

When it goes to my second activity, first it shows "Unfortunately stopped", then it does what I want to do, and the activity shows me truth. What kind of error is that? What should I do with that?

In My First Activity:

  package com.example.mydic;

   import android.app.Activity;
 import android.graphics.Typeface;
import android.os.Bundle;
    import android.text.method.ScrollingMovementMethod;
   import android.view.View;
   import android.view.View.OnClickListener;
   import android.widget.Button;
   import android.widget.TextView;
   import android.widget.Toast;

   public class Review extends Activity{

       private dbHandler db;
    private TextView tv;
    private Button btn_yes;
    private Button btn_no;
    private int btn_click;
    private int btn_no_click;

    private TextView tv_mean;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.review);

        db=new dbHandler(this);
        tv=(TextView) findViewById(R.id.re_tv_word);
        btn_yes=(Button) findViewById(R.id.re_btn_yes);
        btn_no=(Button) findViewById(R.id.re_btn_no);

    tv_mean=(TextView) findViewById(R.id.re_tv_mean);

    tv_mean.setMovementMethod(new ScrollingMovementMethod());

    Typeface textfont = Typeface.createFromAsset(getAssets(),"fonts/bnaznnbd.ttf");
    btn_yes.setTypeface(textfont);
    btn_no.setTypeface(textfont);



    db.open();
    tv.setText(db.First_record_Review());
    db.close();


    tv_mean.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View arg0) {

            db.open();

            tv_mean.setText(db.First_record_Review_mean(tv.getText().toString()));

            db.close();


        }       

    });


    btn_yes.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View arg0) {
            btn_click=btn_click+1;

            db.open();
            db.Review_id_check(tv.getText().toString(), Review.this, btn_click, btn_no_click);
            db.close();

            db.open();
            tv.setText(db.Move_To_Next(tv.getText().toString()));

            db.close();
            tv_mean.setText("نمایش معنا");



        }



    });


    btn_no.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View arg0) {
            btn_no_click=btn_no_click+1;

            String word=tv.getText().toString();
            db.open(); 
            String mean=db.First_record_Review_mean(word);



            db.Review_id_check(tv.getText().toString(), Review.this, btn_click, btn_no_click);




            db.Review_Add_To_Fav(word, mean , getApplicationContext());





            tv.setText(db.Move_To_Next(tv.getText().toString()));
            db.close();
            tv_mean.setText("نمایش معنا");



        }

    });


}

@Override
protected void onResume() {
    super.onResume();




}



}

In My Second Activity:

   package com.example.mydic;

   import android.app.Activity;
   import android.content.Intent;
   import android.os.Bundle;
   import android.view.View;
   import android.view.View.OnClickListener;
   import android.widget.Button;
   import android.widget.TextView;
   import android.widget.Toast;

   public class Result extends Activity{

private dbHandler db;

private TextView tv_all;
public static TextView tv_true;
public static TextView tv_false;

private Button btn_main;
private Button btn_fav;

private String tc;
private String fc;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.result);

    Bundle ex=getIntent().getExtras();
    tc=ex.getString("tc");
    fc=ex.getString("fc");  

    db=new dbHandler(this);
    tv_all=(TextView) findViewById(R.id.res_tv_all_count);
    tv_true=(TextView) findViewById(R.id.res_tv_true);
    tv_false=(TextView) findViewById(R.id.res_tv_false);

    btn_main=(Button) findViewById(R.id.res_btn_main);
    btn_fav=(Button) findViewById(R.id.res_btn_fav);



    db.open();
    tv_all.setText(String.valueOf(db.Review_all_count()));
    db.close();



    tv_false.setText(fc);


    tv_true.setText(tc);

btn_main.setOnClickListener(new OnClickListener(){

    @Override
    public void onClick(View arg0) {
        tv_false.setText("");


        tv_true.setText("");
        tv_all.setText("");

        Intent i=new Intent(Result.this, Main.class);
        startActivity(i);

    }



});


}

@Override
protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
}

}

In My DBHandler:

    public String First_record_Review(){

    Cursor c = database.rawQuery( "SELECT * FROM test", null);
   c.moveToFirst();
   String name=c.getString(1);

    return name;


     }

    public String meaning(String word){

    Cursor c = database.rawQuery( "SELECT * FROM test where word Like  '"+word+"'", null);
   c.moveToFirst();
   String name=c.getString(2);

    return name;


    }


     public void add_to_fav_Review(String word, Context context){



    Cursor c = database.rawQuery( "SELECT * FROM test2 WHERE name Like '"+word+"'", null);

    if(c.moveToFirst()){
            Toast.makeText(context, "قبلا هم این لغت را بلد نبودید!", Toast.LENGTH_LONG).show();

    }else{

        ContentValues cv=new ContentValues();
        cv.put(dbhelper.scname, word);
        cv.put(dbhelper.scmean, meaning(word));

        database.insert(dbhelper.stblname, dbhelper.scname, cv);

            Toast.makeText(context, "لغت در لیست لغات ویژه ثبت شد", Toast.LENGTH_LONG).show();

    }


 }




       public String Review_id(String word){

    Cursor c = database.rawQuery( "SELECT * FROM test WHERE word Like '"+word+"'", null);
    c.moveToFirst(); 

    String r=c.getString(0);
    return r;


    }




       public String Move_To_Next(String word){
    Cursor c = database.rawQuery( "select * from test where id>"+Review_id(word), null);    
     c.moveToFirst();
    String t=c.getString(1);
    return t;    
    }



      public String Review_id_check(String word, Context activity, int                             yes_count, int  no_count){
    Cursor c = database.rawQuery( "select * from test where    id>"+Review_id(word), null);
    if(c.moveToFirst()){        
        return null;
    }else{
        Intent res=new  Intent(activity, Result.class);
        res.putExtra("tc", yes_count+"");
        res.putExtra("fc", no_count+"");
        activity.startActivity(res); 
        return null;
    }

       }



    public String First_record_Review_mean(String word){

    Cursor c = database.rawQuery( "SELECT * FROM test where word Like    '"+word+"'", null);
   c.moveToFirst();
   String name=c.getString(2);

    return name;


    }

       public Integer Review_all_count(){

    Cursor c = database.rawQuery( "SELECT * FROM test", null);

   int name=c.getCount();

    return name;


    }



   public void Review_Add_To_Fav(String word, String mean, Context context){



    Cursor c = database.rawQuery( "SELECT * FROM test2 WHERE name Like    '"+word+"'", null);

    if(c.moveToFirst()){

    }else{

        ContentValues cv=new ContentValues();
        cv.put(dbhelper.scname, word);
        cv.put(dbhelper.scmean, mean);

        database.insert(dbhelper.stblname, dbhelper.scname, cv);

        Toast.makeText(context, "نچ نچ نچ", Toast.LENGTH_LONG).show();

    }


 }

UPDATE:

I saved as txt the log cat and it was this:

09-10 19:46:14.757: E/AndroidRuntime(7146): at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:50)

My Complete Error:

NEWEST UPDATE:

I think the error in in method db.Move_to_Next

because of:

09-10 20:23:00.601: E/AndroidRuntime(19444): at com.example.mydic.dbHandler.Move_To_Next(dbHandler.java:652)

Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
Ali
  • 1
  • 5
  • i think its not very hard for middle android developers. Please HELP – Ali Sep 10 '15 at 11:05
  • ill take a look at it :) sounds like your array (or whatever) hasnt been initialized, because if you do array[0] the array has size=1 (or more) – PlatinTato Sep 10 '15 at 11:11
  • can you maybe add, which line it says, the error occurs? if you have that info it would make it easier :) – PlatinTato Sep 10 '15 at 11:12
  • what is the condition if(c.moveToFirst()){ return null; } – Amol Sawant Sep 10 '15 at 11:14
  • which array hasnt been initialized?? can you say more clearly Dear Jacobus Conradi? – Ali Sep 10 '15 at 15:09
  • it means that i insert full error text? i can do it. PLEASE HELP TIL I GIVE MY ANSWER DEAR Jacobus Conradi.\ – Ali Sep 10 '15 at 15:11
  • "what is the condition if(c.moveToFirst()){ return null; }" It means that if occured that event, do not do anything. and go to next rows Methods. Dear Amol Sawant 96 Kuli – Ali Sep 10 '15 at 15:13
  • PLEASE SEE THE UPDATES – Ali Sep 10 '15 at 16:05

0 Answers0