我有一个片段,允许用户输入消息和电话号码,消息将被传递到该消息.我收到一个错误“无法解决方法getApplicationContext()”我在这里查看了答案the method getApplicationContext() is undefined但它没有帮助我,也许我实现它错了但我不确定!此代码作为活动可以正常工作,但不能作为片段.
FragmentTab1类
package com.androIDbegin.absfragtabhost;import androID.content.Context;import androID.os.Bundle;import androID.vIEw.LayoutInflater;import androID.vIEw.VIEw;import androID.vIEw.VIEwGroup;import androID.app.Fragment;import androID.app.Activity;import androID.telephony.SmsManager;import androID.util.Log;import androID.vIEw.Menu;import androID.vIEw.VIEw;import androID.Widget.button;import androID.Widget.EditText;import androID.Widget.Toast;public class FragmentTab3 extends Fragment {@OverrIDepublic VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container, Bundle savedInstanceState) { VIEw rootVIEw = inflater.inflate(R.layout.fragmenttab3, container, false); super.onCreate(savedInstanceState); //setContentVIEw(R.layout.activity_main); sendBtn = (button) rootVIEw.findVIEwByID(R.ID.btnSendSMS); txtphoneNo = (EditText) rootVIEw.findVIEwByID(R.ID.editTextPhoneNo); txtMessage = (EditText) rootVIEw.findVIEwByID(R.ID.editTextSMS); sendBtn.setonClickListener(new VIEw.OnClickListener() { public voID onClick(VIEw vIEw) { sendSMSMessage(); } }); return rootVIEw;} button sendBtn; EditText txtphoneNo; EditText txtMessage; protected voID sendSMSMessage() { Log.i("Send SMS", ""); String phoneNo = txtphoneNo.getText().toString(); String message = txtMessage.getText().toString(); try { SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage(phoneNo, null, message, null, null); Toast.makeText(getApplicationContext(), "SMS sent.", Toast.LENGTH_LONG).show(); } catch (Exception e) { Toast.makeText(getApplicationContext(), "SMS Failed, please try again.", Toast.LENGTH_LONG).show(); e.printstacktrace(); } } @OverrIDe public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; }}
解决方法:
方法片段中的方法getApplicationContext()不存在.但是,它确实存在于Activity类中,因此您可以使用getActivity().getApplicationContext()从片段对象中获取上下文. (假设片段附加到一个活动,所以getActivity()将返回一个非null对象,这通常是真的)
总结以上是内存溢出为你收集整理的getApplicationContext()错误Android全部内容,希望文章能够帮你解决getApplicationContext()错误Android所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)