Я пытался решить проблему с моим кодом. Мне нужно поставить тост или отобразить сообщение о том, что введенное значение не найдено в базе данных. Я знаю, как написать код, но я не знаю, где именно его разместить. Может ли кто-нибудь помочь мне. Это тост, который я хочу вставить: Toast.makeText (getApplicationContext (), «Номер детали не найден в базе данных. !!», Toast.LENGTH_LONG) .show () ;. Я использую MySql и драйвер JDB C для подключения к нему.
public class MainActivity extends AppCompatActivity {
static final String url = "**********";
static final String user = "******";
static final String pass = "******";
public ArrayList<ClassListItems> itemsArrayList;
public ConnectMySql.MyAppAdapter myAppAdapter;
ListView listv;
EditText qcTxt;
Button search;
String msg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listv = findViewById(R.id.list1);
qcTxt = findViewById(R.id.qc);
search = findViewById(R.id.searchBtn);
itemsArrayList = new ArrayList<ClassListItems>();
search.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(TextUtils.isEmpty(qcTxt.getText())){
Toast.makeText(getApplicationContext(), "Please enter the Part NUmber!!", Toast.LENGTH_LONG).show();
}else {
ConnectMySql connectMySql = new ConnectMySql();
connectMySql.execute("");}
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
if(imm.isAcceptingText()) { // verify if the soft keyboard is open
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
}
}
});
}
public class ConnectMySql extends AsyncTask<String, Void, String> {
String res = "";
@Override
public void onPreExecute() {
super.onPreExecute();
Toast.makeText(MainActivity.this, "Please wait...", Toast.LENGTH_SHORT)
.show();
}
@Override
public String doInBackground(String... params) {
try {
qcTxt = findViewById(R.id.qc);
String newvalue = qcTxt.getText().toString().trim();
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url, user,pass);
System.out.println("Databaseection success");
String query = "SELECT part_Num,customer, from motor_tests WHERE qcpass='"+newvalue+"'";
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();
while (rs.next()) {
//result += rs.getString(1).toString() + "\n";
itemsArrayList.add(new ClassListItems("Part#: " + rs.getString("qcpass"), "Customer: " + rs.getString("customer")));
}
res = result;
} catch (Exception e) {
e.printStackTrace();
res = e.toString();
System.out.println();
}
return res;
}
@Override
public void onPostExecute(String result) {
myAppAdapter= new MyAppAdapter(itemsArrayList,MainActivity.this);
listv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
listv.setAdapter(myAppAdapter);
qcTxt = findViewById(R.id.qc);
qcTxt.setText(""); //Supposed to clear text
}
public class MyAppAdapter extends BaseAdapter{
public class ViewHolder{
TextView partNum;
TextView cust;
}
public List<ClassListItems> users;
public Context context;
ArrayList<ClassListItems> arrayList;
public MyAppAdapter(List<ClassListItems> apps, Context context){
this.users=apps;
this.context = context;
arrayList=new ArrayList<ClassListItems>();
arrayList.addAll(users);
}
@Override
public int getCount() {
return users.size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) // inflating the layout and initializing widgets
{
View rowView = convertView;
ViewHolder viewHolder = null;
if (rowView == null) {
LayoutInflater inflater = getLayoutInflater();
rowView = inflater.inflate(R.layout.list_content, parent, false);
viewHolder = new ViewHolder();
viewHolder.qcNum = (TextView) rowView.findViewById(R.id.partNum);
viewHolder.custNum = (TextView) rowView.findViewById(R.id.cust);
rowView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
// here setting up names and images
viewHolder.qcNum.setText(users.get(position).getpartNum() + "");
viewHolder.custNum.setText(users.get(position).getCust()+"");
return rowView;
}
}
}
}