在toast中出现maketext时出错

时间:2015-04-09 16:26:07

标签: java android eclipse android-fragments

public void onClick(View v) {


        {


            if (db==null) db = new DB(AddStation.this);
            if(v.getId()==R.id.ADD ) {
                String code = Scode.getText().toString().trim();
                String name = SName.getText().toString().trim();
                String fac = SFac.getText().toString().trim();
                if(name.equals("")){
                    Scode.setError("Invalid name");
                    return;
                }

                if (code.equals("")){ Scode.setError("Invalid email");
                    return;
                }
                    if (db.addStudent(code, name, fac))
                        Toast.makeText(AddStation.this, "Student added", Toast.LENGTH_SHORT).show();

                else if (v.getId()==R.id.See) {
                Toast.makeText(AddStation.this, db.getAllStudents(), Toast.LENGTH_LONG).show();
                //Log.v("EditText", db.getAllStudents().toString());

                    }
                }

                }
            db.close();
            Toast.makeText(AddStation.this, db.getAllStudents(), Toast.LENGTH_SHORT).show();
            }
    }

AddStation是我的片段名称。怎么解决这个? 这个toast正在检索数据库,你们可以告诉我如何将数据放入下拉框或gridview而不是toast。谢谢!

2 个答案:

答案 0 :(得分:0)

看看最后两行。首先你打电话给db.close();,然后打电话给db.getAllStudents(),那么你是不是在开玩笑? 但如果不是这会导致错误,那么就发布logcat trace

PS:检查您的AddStation,是否从Activity或其后代延伸?如果没有,请从AddStation或其后代延伸Activity

答案 1 :(得分:0)

您可以在List / Spinner中显示此数据,为此您必须在布局中添加这些小部件。您可以将此数据填充为
1. ListView

ListView listView = (ListView) findViewById(R.id.mylist);
List<String> listRecords = db.getAllStudents();
ArrayAdapter arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item, listRecords);
listView.setAdapter(arrayAdapter);

2。旋转器

Spinner spinner = (Spinner) findViewById(R.id.spinner);
List<String> listRecords = db.getAllStudents();
ArrayAdapter arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, listRecords);
spinner.setAdapter(arrayAdapter);