0

MAIN.JAVA

public void onClick(View arg0) {
    switch (arg0.getId()) {
    case R.id.buttonupdate:
        String name = sqlName.getText().toString();
        String value = sqlValue.getText().toString();
        MainActivity entry = new MainActivity(Main.this);
        entry.open();
        entry.createEntry(name, value);
        entry.close();
        break;
    case R.id.buttonview:
        Intent intentone = new Intent();
        intentone.setClassName("com.example.sqltwo", "com.example.sqltwo.View");
        startActivity(intentone);
        break;
    case R.id.buttonsearch:
        String searchtext = sqlQuery_value.getText().toString();
        break;
    }   public void onClick(View arg0) {
    switch (arg0.getId()) {
    case R.id.buttonsearch:
        String name = sqlName.getText().toString();
        String value = sqlValue.getText().toString();
        MainActivity entry = new MainActivity(Main.this);
        entry.open();
        entry.createEntry(name, value);
        entry.close();
        break;
    case R.id.buttonview:
        Intent intentone = new Intent();
        intentone.setClassName("com.example.sqltwo", "com.example.sqltwo.View");
        startActivity(intentone);
        break;
    case R.id.buttonsearch:
        String searchtext = sqlQuery_value.getText().toString();
        break;
    }

MAINACTIVITY.JAVA

public long createEntry(String name, String value) {
    ContentValues cv = new ContentValues();
            cv.put(KEY_NAMES, name);
            cv.put(KEY_VALUES, value);
            return qdatabase.insert(DATABASE_TABLE, null, cv);
}
public String getData() {
    String[] columns = new String[]{KEY_NAMES, KEY_VALUES};
    Cursor c = qdatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
    String result = "";

    int iValue = c.getColumnIndex(KEY_VALUES);
    int iName = c.getColumnIndex(KEY_NAMES);

    for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
        result = result + c.getString(iName) + "\n" + c.getString(iValue) + "\n";
    }
    return result;  
}
public String search(String searchtext) {
    String searchresult = "";
    String arg = searchtext;

    String query = "select * from " + DATABASE_TABLE + " where title=\"" + arg +"\"";

    Cursor c = qdatabase.rawQuery(query, new String[] {arg});
    int iName = c.getColumnIndex(KEY_NAMES);

    if (c.moveToFirst()) {
        searchresult = searchresult + c.getString(iName);
    }

    return searchresult;

}

In the case R.id.buttonsearch:

It grabs the TextEdit and stores it into searchtext. I need that searchtext in MainActivity to run through the search function and return all rows which match that query. How do I link that searchtext in Main to MainActivity?

Malaka
  • 1,581
  • 5
  • 16
  • 16
  • y dont you ues a getter method in main.java ? – Charan Pai Mar 04 '13 at 14:38
  • My knowledge in Android java is limited. I don't know what a getter method is and I don't know how and why AsyncTask would work here. – Malaka Mar 05 '13 at 17:41
  • use a method in main.java that returns that string or make search_string as public static so that serach_string will be available in all other class.. – Charan Pai Mar 06 '13 at 04:53

1 Answers1

0

in MAIN.JAVA use AsyncTask in AsyncTask you in metod doInBackground connect to the database (use source MAINACTIVITY.JAVA) and metod onPostExecute change MAIN.JAVA

for example

private class loudAllTranslate extends
        AsyncTask<Void, Void, HashMap<String, Translate>> {

    Context context;
    String fullText;

    loudAllTranslate(Context cont, String fullText_) {
        context = cont;
        fullText = fullText_;
    }

    @Override
    protected void onPostExecute(HashMap<String, Translate> success) {
        super.onPostExecute(success);

        // do somting

    }

    @Override
    protected HashMap<String, Translate> doInBackground(Void... params) {

        LBD conection = new LBD(context);
        conection.open();
        conection.tblSettings();

        HashMap<String, Translate> listTranstate = Settings
                .updateAllTranslate(fullText);
        conection.close();
        return listTranstate;

    }

}
Max Usanin
  • 2,479
  • 6
  • 40
  • 70