Как отобразить сообщение об ошибке в android studio? - PullRequest
0 голосов
/ 21 апреля 2020

Я пытался решить проблему с моим кодом. Мне нужно поставить тост или отобразить сообщение о том, что введенное значение не найдено в базе данных. Я знаю, как написать код, но я не знаю, где именно его разместить. Может ли кто-нибудь помочь мне. Это тост, который я хочу вставить: 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;
        }



    }


}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...