相关疑难解决方法(0)

片段真的需要一个空的构造函数吗?

我有一个Fragment带有多个参数的构造函数.我的应用程序在开发期间工作正常,但在生产中我的用户有时会看到此崩溃:

android.support.v4.app.Fragment$InstantiationException: Unable to instantiate fragment 
make sure class name exists, is public, and has an empty constructor that is public
Run Code Online (Sandbox Code Playgroud)

我可以创建一个空的构造函数,因为这个错误消息建议,但这对我没有意义,因为那时我将不得不调用一个单独的方法来完成设置Fragment.

我很好奇为什么这种崩溃偶尔会发生.也许我使用ViewPager不正确?我Fragment自己实例化所有s并将它们保存在一个列表中Activity.我不使用FragmentManager事务,因为ViewPager我看到的例子并不需要它,并且一切似乎都在开发期间工作.

android android-fragments

252
推荐指数
3
解决办法
10万
查看次数

错误片段中的非默认构造函数

我正在处理地图apiv2.编码Dialog Fragment类时出现以下错误.

错误: Avoid non-default constructors in fragments: use a default constructor plus Fragment#setArguments(Bundle) instead:

这是代码:

public PlaceDialogFragment(){
    super();
}

public PlaceDialogFragment(Place place, DisplayMetrics dm){
    super();
    this.mPlace = place;
    this.mMetrics = dm;
}
Run Code Online (Sandbox Code Playgroud)

任何帮助都值得赞赏..

修改:这是整个代码...我是一个新手,从来没有处理过碎片.我正在通过地图啧啧发现这个......你现在详细说明了你想要解释的事情.

package com.example.travelplanner;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ViewFlipper;

// Defining DialogFragment class to show …
Run Code Online (Sandbox Code Playgroud)

android google-maps

7
推荐指数
2
解决办法
2万
查看次数

如何使用DialogFragment在EditText中显示选定日期

DialogFragment用来显示DatePicker用户点击的时间EditText

如何在相同的日期显示所选日期EditText.

我用作为参考.

DatePickerFragment.java:

public class DatePickerFragment extends DialogFragment
        implements DatePickerDialog.OnDateSetListener {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        // Use the current date as the default date in the picker
        final Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH);
        int day = c.get(Calendar.DAY_OF_MONTH);

        // Create a new instance of DatePickerDialog and return it
        return new DatePickerDialog(getActivity(), this, year, month, day);
    }

    @Override
    public void onDateSet(DatePicker view, int …
Run Code Online (Sandbox Code Playgroud)

android datepicker android-edittext android-dialogfragment

6
推荐指数
1
解决办法
2434
查看次数