在Android Studio中编辑文本

在Android Studio中编辑文本,android,android-studio,android-edittext,android-button,Android,Android Studio,Android Edittext,Android Button,所以我有一个项目,我用编辑文本和一个按钮在数据库中搜索一些东西。然后用另一个按钮我继续进行另一个活动。如果我不写任何东西并单击搜索按钮,我可以继续进行另一个活动,但如果我不单击按钮,它会崩溃。 关于eactivity的代码如下 public DBHelper helper; public ArrayList<String> theList; public static String input; public static String select; @Override pro

所以我有一个项目,我用编辑文本和一个按钮在数据库中搜索一些东西。然后用另一个按钮我继续进行另一个活动。如果我不写任何东西并单击搜索按钮,我可以继续进行另一个活动,但如果我不单击按钮,它会崩溃。 关于eactivity的代码如下

public  DBHelper helper;
public ArrayList<String> theList;
public static String input;
public static String select;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);
    //Αρχικοποίηση spinner
    Spinner spinner = (Spinner) findViewById(R.id.spinner);
    //Αρχικοποίηση βάσης
    helper = new DBHelper(SecondActivity.this);
    SQLiteDatabase database = helper.getReadableDatabase();

    Button search = findViewById(R.id.button3);
    search.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            //Ο χρηστης μεσω edittext θα δινει το userid
            input = ((EditText) findViewById(R.id.editText)).getText().toString();
            //Αρχικοποίηση arraylist
            theList = new ArrayList<>();

            if (!input.isEmpty()) {
                //Μέσω ενός cursor θα ψάχνουμε στην βάση τον userid που εχει δώσει ο χρήστης απο το editext input
                //Κρατάμε μέσω του cursor το FIELD_4 στην βάση που είναι τα timestamps του εκάστοτε userid και τα αποθηκεύουμε ολα στο arraylist με μια do-while
                Cursor cursor = database.query(DBHelper.TABLE_NAME, new String[]{DBHelper.FIELD_4}, DBHelper.FIELD_1 + "=?", new String[]{input}, null, null, null);
                if (cursor.moveToFirst()) {
                    do {

                        theList.add(cursor.getString(0));
                    } while (cursor.moveToNext());
                    //Τα εμφανίζουμε στο spinner(dropdown list) μεσω του arrayadapter
                    ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(SecondActivity.this, android.R.layout.simple_spinner_item, theList);
                    spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                    spinner.setAdapter(spinnerAdapter);
                    cursor.close();
                    select = spinner.getSelectedItem().toString();
                }
                else{
                    //αν το input του χρήστη είναι λάθος το αποθηκεύει σαν κενό string και με ένα toast του λεει να βάλει άλλο userid
                    input="";
                    Toast.makeText(SecondActivity.this,"No such user id avalaible",Toast.LENGTH_SHORT).show();
                }
            }
            else{
                //αν το input του χρήστη είναι άδειο το αποθηκεύει σαν κενό string
                input="";
            }
        }
    });

    //Μετακίνηση στο 3ο activity με button μέσω intent
    Button button = findViewById(R.id.button4);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Intent intent = new Intent(SecondActivity.this, ThirdActivity.class);
            startActivity(intent);
        }
    });

}
public  DBHelper helper;
public ArrayList<String> theList;

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

    ListView listView = findViewById(R.id.listview);
    helper = new DBHelper(ThirdActivity.this);
    SQLiteDatabase database = helper.getReadableDatabase();
    theList = new ArrayList<>();

    //Αν το input του χρήστη στο 2ο activity ειναι άδειο η δεν υπάρχει το userid που έβαλε,εμφανίζει όλα τα δεδομένα στην βάση
    if (SecondActivity.input==""){
        Cursor cursor = database.query(DBHelper.TABLE_NAME, null , null, null, null, null, null);
        if (cursor.moveToFirst())
        {
            do
            {
                theList.add(cursor.getString(0)+"   "+cursor.getString(1)+"   "+cursor.getString(2)+"   "+cursor.getString(3));
            } while (cursor.moveToNext());
        }
        ArrayAdapter<String> listviewAdapter = new ArrayAdapter<String>(ThirdActivity.this, android.R.layout.simple_spinner_item, theList);
        listviewAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        listView.setAdapter(listviewAdapter);
        cursor.close();

    }

    //Αλλιώς εμφανίζει όλα τα στοιχεία που έχουν σαν userid αυτο που έβαλε στο input ο χρήστης
    //και αυτό που επέλεξε από το spinner,που είναι αποθηκευμένο στην μεταβλητή select
    else {

        Cursor cursor = database.query(DBHelper.TABLE_NAME, null, DBHelper.FIELD_1 + "=? AND " + DBHelper.FIELD_4 + "=?", new String[]{SecondActivity.input, SecondActivity.select}, null, null, null);
        if (cursor.moveToFirst()) {
            do {
                theList.add(cursor.getString(0) + " " + cursor.getString(1) + " " + cursor.getString(2) + " " + cursor.getString(3));
            } while (cursor.moveToNext());
        }
        ArrayAdapter<String> listviewAdapter = new ArrayAdapter<String>(ThirdActivity.this, android.R.layout.simple_spinner_item, theList);
        listviewAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        listView.setAdapter(listviewAdapter);
        cursor.close();


    }

}
公共DBHelper;
公共阵列列表;
公共静态字符串输入;
公共静态字符串选择;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_秒);
//ρρχικπηση纺纱机
微调器微调器=(微调器)findViewById(R.id.Spinner);
//Αρχικοποίηση βάσης
helper=newdbhelper(SecondActivity.this);
SQLiteDatabase=helper.getReadableDatabase();
按钮搜索=findViewById(R.id.button3);
search.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//⑩χρηστημεσωedittextθαΔινειτοuserid
input=((EditText)findViewById(R.id.EditText)).getText().toString();
//ρρχικπηση阵列列表
theList=新数组列表();
如果(!input.isEmpty()){
//编辑文本输入
//Κρατάμεμέσωτο光标το场_4στηηβάσηπποεεε时间戳τεκεκστττε用户IDκαταταππθκθεεθεεεεεε
Cursor Cursor=database.query(DBHelper.TABLE_NAME,新字符串[]{DBHelper.FIELD_4},DBHelper.FIELD_1+“=?”,新字符串[]{input},null,null,null);
if(cursor.moveToFirst()){
做{
添加(cursor.getString(0));
}while(cursor.moveToNext());
//θαεμφανίζονμεστο微调器(下拉列表)μεσωτογ阵列适配器
ArrayAdapter spinnerAdapter=新的ArrayAdapter(SecondActivity.this,android.R.layout.simple\u spinner\u项,列表);
spinnerAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
spinner.setAdapter(spinnerAdapter);
cursor.close();
select=spinner.getSelectedItem().toString();
}
否则{
//αντο输入τοχρρήστηεείναιλάθοττποθηεεεεκεκεε串καιμεέθα土司τλλεεεεεεεεειβάλεελεεεεεεεεεεεεεεε
输入=”;
Toast.makeText(SecondActivity.this,“没有这样的用户id可用”,Toast.LENGTH\u SHORT.show();
}
}
否则{
//αντο输入τΓχρήστηείναιάΔειοταποθηκεεύεσνεκνό串
输入=”;
}
}
});
//ετακνησηστο3ο活动με按钮μέσω
按钮按钮=findViewById(R.id.button4);
setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
意向意向=新意向(SecondActivity.this,ThirdActivity.class);
星触觉(意向);
}
});
}
另一项活动是

public  DBHelper helper;
public ArrayList<String> theList;
public static String input;
public static String select;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);
    //Αρχικοποίηση spinner
    Spinner spinner = (Spinner) findViewById(R.id.spinner);
    //Αρχικοποίηση βάσης
    helper = new DBHelper(SecondActivity.this);
    SQLiteDatabase database = helper.getReadableDatabase();

    Button search = findViewById(R.id.button3);
    search.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            //Ο χρηστης μεσω edittext θα δινει το userid
            input = ((EditText) findViewById(R.id.editText)).getText().toString();
            //Αρχικοποίηση arraylist
            theList = new ArrayList<>();

            if (!input.isEmpty()) {
                //Μέσω ενός cursor θα ψάχνουμε στην βάση τον userid που εχει δώσει ο χρήστης απο το editext input
                //Κρατάμε μέσω του cursor το FIELD_4 στην βάση που είναι τα timestamps του εκάστοτε userid και τα αποθηκεύουμε ολα στο arraylist με μια do-while
                Cursor cursor = database.query(DBHelper.TABLE_NAME, new String[]{DBHelper.FIELD_4}, DBHelper.FIELD_1 + "=?", new String[]{input}, null, null, null);
                if (cursor.moveToFirst()) {
                    do {

                        theList.add(cursor.getString(0));
                    } while (cursor.moveToNext());
                    //Τα εμφανίζουμε στο spinner(dropdown list) μεσω του arrayadapter
                    ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(SecondActivity.this, android.R.layout.simple_spinner_item, theList);
                    spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                    spinner.setAdapter(spinnerAdapter);
                    cursor.close();
                    select = spinner.getSelectedItem().toString();
                }
                else{
                    //αν το input του χρήστη είναι λάθος το αποθηκεύει σαν κενό string και με ένα toast του λεει να βάλει άλλο userid
                    input="";
                    Toast.makeText(SecondActivity.this,"No such user id avalaible",Toast.LENGTH_SHORT).show();
                }
            }
            else{
                //αν το input του χρήστη είναι άδειο το αποθηκεύει σαν κενό string
                input="";
            }
        }
    });

    //Μετακίνηση στο 3ο activity με button μέσω intent
    Button button = findViewById(R.id.button4);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Intent intent = new Intent(SecondActivity.this, ThirdActivity.class);
            startActivity(intent);
        }
    });

}
public  DBHelper helper;
public ArrayList<String> theList;

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

    ListView listView = findViewById(R.id.listview);
    helper = new DBHelper(ThirdActivity.this);
    SQLiteDatabase database = helper.getReadableDatabase();
    theList = new ArrayList<>();

    //Αν το input του χρήστη στο 2ο activity ειναι άδειο η δεν υπάρχει το userid που έβαλε,εμφανίζει όλα τα δεδομένα στην βάση
    if (SecondActivity.input==""){
        Cursor cursor = database.query(DBHelper.TABLE_NAME, null , null, null, null, null, null);
        if (cursor.moveToFirst())
        {
            do
            {
                theList.add(cursor.getString(0)+"   "+cursor.getString(1)+"   "+cursor.getString(2)+"   "+cursor.getString(3));
            } while (cursor.moveToNext());
        }
        ArrayAdapter<String> listviewAdapter = new ArrayAdapter<String>(ThirdActivity.this, android.R.layout.simple_spinner_item, theList);
        listviewAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        listView.setAdapter(listviewAdapter);
        cursor.close();

    }

    //Αλλιώς εμφανίζει όλα τα στοιχεία που έχουν σαν userid αυτο που έβαλε στο input ο χρήστης
    //και αυτό που επέλεξε από το spinner,που είναι αποθηκευμένο στην μεταβλητή select
    else {

        Cursor cursor = database.query(DBHelper.TABLE_NAME, null, DBHelper.FIELD_1 + "=? AND " + DBHelper.FIELD_4 + "=?", new String[]{SecondActivity.input, SecondActivity.select}, null, null, null);
        if (cursor.moveToFirst()) {
            do {
                theList.add(cursor.getString(0) + " " + cursor.getString(1) + " " + cursor.getString(2) + " " + cursor.getString(3));
            } while (cursor.moveToNext());
        }
        ArrayAdapter<String> listviewAdapter = new ArrayAdapter<String>(ThirdActivity.this, android.R.layout.simple_spinner_item, theList);
        listviewAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        listView.setAdapter(listviewAdapter);
        cursor.close();


    }

}
公共DBHelper;
公共阵列列表;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_第三);
ListView ListView=findViewById(R.id.ListView);
helper=newdbhelper(ThirdActivity.this);
SQLiteDatabase=helper.getReadableDatabase();
theList=新数组列表();
//Αντο输入τοχρρήστηστο2ο活动ειναιεοηΔεⅤππρχετιτ用户IDποΓεεεεεεεεεεεεεεεεεεε,εμφνζζζζλλλλλαλαλεεεεεεεεεεεεεεε
如果(SecondActivity.input==“”){
Cursor Cursor=database.query(DBHelper.TABLE_NAME,null,null,null,null,null);
if(cursor.moveToFirst())
{
做
{
添加(cursor.getString(0)+++cursor.getString(1)+++cursor.getString(2)+++cursor.getString(3));
}while(cursor.moveToNext());
}
ArrayAdapter listviewAdapter=新的ArrayAdapter(ThirdActivity.this,android.R.layout.simple\u spinner\u项,列表);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
setAdapter(listviewAdapter);
cursor.close();
}
//Αλλλιώςεμφανίζειλατσττοχείαποίίελτστ输入
//καιαιτόποⅤεπέλεξεαπότο纺纱机,ποⅤαιαποθηκεμέστημετβληττ选择
否则{
Cursor Cursor=database.query(DBHelper.TABLE_NAME,null,DBHelper.FIELD_1+“=”和“+DBHelper.FIELD_4+”=?”,新字符串[]{SecondActivity.input,SecondActivity.select},null,null,null);
if(cursor.moveToFirst()){
做{
添加(cursor.getString(0)+++cursor.getString(1)+++cursor.getString(2)+++cursor.getString(3));
}while(cursor.moveToNext());
}
ArrayAdapter listviewAdapter=新的ArrayAdapter(ThirdActivity.this,android.R.layout.simple\u spinner\u项,列表);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
setAdapter(listviewAdapter);
cursor.close();
}
}
有什么想法吗?

当你不点击时<