Cursor cursor= db.rawQuery("select * from course where cNumber=? OR cName=?",new String[]{input,input}); if(cursor.moveToFirst()){ ContentValues values=new ContentValues(); values.put("scNumber",cursor.getString(0)); values.put("scName",cursor.getString(1)); db2.insert("student_course",null,values); Toast.makeText(MainActivity2.this,"加入成功",Toast.LENGTH_LONG).show(); }else{ Toast.makeText(getApplicationContext(), "无效的班课号", Toast.LENGTH_SHORT).setGravity(Gravity.CENTER,0,0); Toast.show(); }要让Toast显示在屏幕中央怎么改
时间: 2024-01-11 08:04:39 浏览: 120
可以将Toast的显示位置设置为屏幕中央,修改如下代码:
```
Toast.makeText(getApplicationContext(), "无效的班课号", Toast.LENGTH_SHORT).setGravity(Gravity.CENTER, 0, 0).show();
```
其中,`Gravity.CENTER`表示设置为屏幕中央,`0`和`0`表示在X轴和Y轴上的偏移量为0。需要将`.show()`方法放在最后。这样就可以让Toast显示在屏幕中央了。
相关问题
Cursor cursor = db.rawQuery( "select * from userInfo where id = ? and password = ?", new String[]{id, password} );
这段代码是针对Android中SQLite数据库的操作。在这段代码中,首先创建了一个Cursor对象,然后使用db.rawQuery()方法查询数据库中的userInfo表格,查询的条件是id和password两个字段的值分别为传入的id和password参数。其中,?是一个占位符,表示查询条件的值需要动态传入。在这里,使用了new String[]{}语法来传入参数,其中第一个参数是id,第二个参数是password。最后,查询的结果会存储在Cursor对象中,可以通过Cursor对象来遍历查询结果。
BroadcastReceiver receiver=new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String account=intent.getStringExtra("account"); String password=intent.getStringExtra("password"); } };执行了之后执行Cursor cursor= db.rawQuery("select*from user where account=?",new String[]{account});出错
这个错误很可能是因为 `account` 变量没有被正确地传递到 `db.rawQuery()` 方法中。这是因为 `account` 变量是在 `onReceive()` 方法中被定义的,而 `db.rawQuery()` 方法是在 `onReceive()` 方法之外调用的。因此,`account` 变量的作用域仅限于 `onReceive()` 方法内部。
要解决这个问题,您可以在 `onReceive()` 方法中将 `account` 变量存储在类成员变量中,并在 `db.rawQuery()` 方法中使用该成员变量。例如:
```
public class MyBroadcastReceiver extends BroadcastReceiver {
private String account;
@Override
public void onReceive(Context context, Intent intent) {
account = intent.getStringExtra("account");
String password = intent.getStringExtra("password");
// ... 其他代码 ...
}
private void doDatabaseQuery() {
Cursor cursor = db.rawQuery("select * from user where account = ?", new String[]{account});
// ... 其他代码 ...
}
}
```
请注意,这里使用了一个名为 `MyBroadcastReceiver` 的类,而不是您在问题中提到的匿名内部类。这是因为使用匿名内部类可能会导致其他作用域问题,并且不易于重用代码。
阅读全文