当我点击Android时崩溃
当按下按钮会打开电子邮件时,尝试制作一个按钮。很抱歉,我只是一个新手。任何帮助都会很棒,谢谢 当我点击fragment时崩溃,不确定出了什么问题,再次感谢您的帮助 这里是代码:当我点击Android时崩溃,android,android-fragments,email,Android,Android Fragments,Email,当按下按钮会打开电子邮件时,尝试制作一个按钮。很抱歉,我只是一个新手。任何帮助都会很棒,谢谢 当我点击fragment时崩溃,不确定出了什么问题,再次感谢您的帮助 这里是代码: public class Fragment_7 extends Fragment{ private Button button; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInst
public class Fragment_7 extends Fragment{
private Button button;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_7,
container, false);
final Context context = getActivity();
Button button = (Button) getView().findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
// TODO Auto-generated method stub
sendEmail(context, new String[]{"info@bottlecapp.com"}, "Sending Email", "App Development", "");
}
});
return view;
}
public static void sendEmail(Context context, String[] recipientList,
String title, String subject, String body) {
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, recipientList);
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, body);
context.startActivity(Intent.createChooser(emailIntent, title));
}
}
06-15 18:28:56.719: E/AndroidRuntime(553): FATAL EXCEPTION: main
06-15 18:28:56.719: E/AndroidRuntime(553): java.lang.NullPointerException
06-15 18:28:56.719: E/AndroidRuntime(553): at com.bottlecapp.bottlecapp.Fragment_7.onCreateView(Fragment_7.java:24)
06-15 18:28:56.719: E/AndroidRuntime(553): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460)
06-15 18:28:56.719: E/AndroidRuntime(553): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:911)
06-15 18:28:56.719: E/AndroidRuntime(553): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
06-15 18:28:56.719: E/AndroidRuntime(553): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
06-15 18:28:56.719: E/AndroidRuntime(553): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
06-15 18:28:56.719: E/AndroidRuntime(553): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:429)
06-15 18:28:56.719: E/AndroidRuntime(553): at android.os.Handler.handleCallback(Handler.java:605)
06-15 18:28:56.719: E/AndroidRuntime(553): at android.os.Handler.dispatchMessage(Handler.java:92)
06-15 18:28:56.719: E/AndroidRuntime(553): at android.os.Looper.loop(Looper.java:137)
06-15 18:28:56.719: E/AndroidRuntime(553): at android.app.ActivityThread.main(ActivityThread.java:4424)
06-15 18:28:56.719: E/AndroidRuntime(553): at java.lang.reflect.Method.invokeNative(Native Method)
06-15 18:28:56.719: E/AndroidRuntime(553): at java.lang.reflect.Method.invoke(Method.java:511)
06-15 18:28:56.719: E/AndroidRuntime(553): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-15 18:28:56.719: E/AndroidRuntime(553): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-15 18:28:56.719: E/AndroidRuntime(553): at dalvik.system.NativeStart.main(Native Method)
更改
final Context=Fragment_7.this代码>
使用final Context=getActivity()代码>由于getView返回在onCreateView中膨胀的内容,因此在onCreateView中调用它将返回null。该方法还必须返回视图对象。更改为:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_7,
container, false);
final Context context = getActivity();
Button button = (Button) view.findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
// TODO Auto-generated method stub
sendEmail(context, new String[]{",com"}, "Sending Email", "", "");
}
});
return view;
}
谢谢,这已经奏效了,但是现在在CreateView(LayoutInflater inflater、ViewGroup container、Bundle savedInstanceState)的公共视图上出现了错误。该方法必须返回一个视图对象。因此,您可以返回您膨胀的视图。虽然现在我没有错误,但每次单击碎片时它都会崩溃谢谢,这很有效,但现在在CreateView的公共视图上出现错误(LayoutFlater充气器、ViewGroup容器、Bundle savedInstanceState)此方法必须返回类型为View的结果-覆盖android.support.v4.app.Fragment.onCreateView您错过了返回语句非常感谢!工作真棒:D我会尽快接受你的答案,虽然现在我没有错误,但每次我点击碎片它都会崩溃