在Android Studio中编辑文本
所以我有一个项目,我用编辑文本和一个按钮在数据库中搜索一些东西。然后用另一个按钮我继续进行另一个活动。如果我不写任何东西并单击搜索按钮,我可以继续进行另一个活动,但如果我不单击按钮,它会崩溃。 关于eactivity的代码如下在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
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();
}
}
有什么想法吗?当你不点击时<