无法解析方法show(android.support.v4.app FragmentManager,java.lang.string)

时间:2015-09-16 10:15:27

标签: java android android-fragments

public class Singleton {
    private static Singleton singleton = new Singleton();
    private int i = 0;

    private Singleton() {
    }

    public static Singleton returnSingleton() {

        return singleton;
    }

    public void increment() {
        i++;
    }

    public int getInt() {
        return i;
    }
}

public static void main(String[] args) {
        System.out.println("Test");

        Singleton sin1 = Singleton.returnSingleton();
        sin1.increment();
        System.out.println(sin1.getInt());
        Singleton sin2 = Singleton.returnSingleton();
        System.out.println("Test");
        sin1.increment();
        System.out.println(sin1.getInt());
    }

尝试在android studio中创建一个import android.app.DialogFragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ListView; import android.widget.Toast; /** * Created by jamie on 9/12/2015. */ public class PlayersFragment extends DialogFragment { ListView lv; String[] players = {"arteta", "costa", "reid", "degea", "rooney", "terry"}; int[] images = {R.drawable.arteta, R.drawable.costa, R.drawable.reid, R.drawable.degea, R.drawable.rooney, R.drawable.terry}; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.dialog, container, false); //initialize listview lv = (ListView) rootView.findViewById(R.id.listView1); //set dialog title getDialog().setTitle("Soccer SuperStars"); //create adapter obj and set list view to it Adapter adapter = new Adapter(getActivity(), players, images); lv.setAdapter(adapter); lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> a, View v, int pos, long id) { Toast.makeText(getActivity(), players[pos], Toast.LENGTH_SHORT).show(); } }); return rootView; } }片段并获取 错误

  

无法解析方法show(android.support.v4.app   FragmentManager,java.lang.String中)

错误在ListView下划线为红色,试图解决此问题,但无处可去,我真的很感激这个解决方案!谢谢

p.show(fm,"Players Fragment)

2 个答案:

答案 0 :(得分:16)

我想您使用的是android.app.DialogFragment而不是android.support.v4.app.DialogFragment。只需从支持库的PlayersFragment扩展android.support.v4.app.DialogFragment即可。或者,如果您没有定位旧设备,则可以将getSupportFragmentManager()更改为getFragmentManager()

答案 1 :(得分:1)

您必须在课程android.support.v4.app.DialogFragment上导入PlayersFragment,然后将getSupportFragmentManager()更改为getFragmentManager()