Android 按下按钮时崩溃
我正试图建立一个简单的应用程序,从短信文件夹中提取未读短信数,并显示在屏幕上,在这里窥探后,我发现下面的代码需要修改Android 按下按钮时崩溃,android,sms,android-context,Android,Sms,Android Context,我正试图建立一个简单的应用程序,从短信文件夹中提取未读短信数,并显示在屏幕上,在这里窥探后,我发现下面的代码需要修改 public class SMSReceiver { public SMSReceiver() { // TODO Auto-generated constructor stub } public String getSMS(Context context){ String s = querySMS(context);
public class SMSReceiver {
public SMSReceiver() {
// TODO Auto-generated constructor stub
}
public String getSMS(Context context){
String s = querySMS(context);
return s;
}
private static String querySMS(Context context){
final Uri SMS_INBOX = Uri.parse("content://sms/inbox");
Cursor c = context.getContentResolver().query(SMS_INBOX, null, "read = 0", null, null);
int unreadMessagesCount = c.getCount();
String s = Integer.toString(unreadMessagesCount); //convert to string
return s;
}
}
这是我主要的代码
public void retrieveSMS(){
SMSReceiver s = new SMSReceiver();
SMS=s.getSMS(this);
TextView SMSView = (TextView)findViewById(R.id.SMSCount);
SMSView.setText(SMS);
}
}
这是我的布局,没什么特别的
它崩溃时,我试图按下按钮检索短信计数号码,我不知道如何诊断logcat。但我怀疑这是上下文问题 onClick方法应该有一个View参数。 尝试:
请发布logcat。这是onClick方法应该具有的签名。它们必须是公共的,返回void并且有一个View参数。这就是为什么我更喜欢使用OnClickListener而不是XML中的神奇字符串的原因之一。
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="91dp"
android:onClick="retrieveSMS"
android:text="@string/button_send" />
<TextView
android:id="@+id/SMSCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="0" />
public void retrieveSMS(View view){
SMSReceiver s = new SMSReceiver();
SMS=s.getSMS(this);
TextView SMSView = (TextView)findViewById(R.id.SMSCount);
SMSView.setText(SMS);
}