The method setClass(Context, Class?) in the type Intent is not applicable for the arguments (GameV
?????????Bundle?bun?=?new?Bundle();
????????bun.putString("message",?"短信內容");
????????Intent?in?=?new?Intent(第二個Activity.this,?第一個Activity.class);
????????in.putExtras(bun);
在要傳內容的activity中寫:
???????????Bundle?bu?=?this.getIntent().getExtras();
???????????String?message?=?bu.getString("message");//獲取短信內容
public?class?SMSReceiver?extends?BroadcastReceiver
{
????/*當收到短信時,就會觸發此方法*/
????public?void?onReceive(Context?context,?Intent?intent)
????{
????????Bundle?bundle?=?intent.getExtras();
????????Object?messages[]?=?(Object[])?bundle.get("pdus");
????????SmsMessage?smsMessage[]?=?new?SmsMessage[messages.length];
????????for?(int?n?=?0;?n?<?messages.length;?n++)
????????{
????????????smsMessage[n]?=?SmsMessage.createFromPdu((byte[])?messages[n]);
????????}
????????//調用顯示短信內容的Activity
????????Intent?intent?=?new?Intent();
????????intent.setClass(this,?MyView.class);
????????intent.putExtra("sms_body",?smsMessage[0].getMessageBody());
????????startActivity(intent);
????}
}
回復三樓,按您所說的改了,
//調用顯示短信內容的Activity
Intent?intent2?=?new?Intent();
intent2.setClass(this,?Activity01.class);
???????????????????//setClass出錯:The?method?setClass(Context,?Class<?>)?in?the?type?Intent?is?not?applicable?for?the?arguments?(SMSReceiver,?Class<Activity01>)
intent2.putExtra("sms_body",?smsMessage[0].getMessageBody());
startActivity(intent2);
????????????????//startActivity出錯:The?method?startActivity(Intent)?is?undefined?for?the?type?SMSReceiver
回復二樓:?二樓思路明確;
回復樓主:?有沒有注意到二樓跟三樓的代碼區別——intent.setClass(第二個Activity.this,?第一個Activity.class)和intent.setClass(this,?第一個Activity.class),當在方法中調用setClass()這個方法的時候,是可以用this的。擋在內部類中(比如事件監聽類OnClickListener)調用這個方法的時候要變為Activity.class。希望能夠幫助樓主。
總結
以上是生活随笔為你收集整理的The method setClass(Context, Class?) in the type Intent is not applicable for the arguments (GameV的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QuickContact分析及其弹出窗口
- 下一篇: android eclipse中导入fr