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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/32605774/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-11-02 20:28:59  来源:igfitidea点击:

cannot resolve method show(android.support.v4.app FragmentManager,java.lang.string)

javaandroidandroid-fragments

提问by james

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;


    }



}

Trying to create a ListViewfragment in android studio and getting error

试图ListView在android studio中创建一个片段并收到错误

cannot resolve method show(android.support.v4.app FragmentManager,java.lang.string)

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

the error is on the p.show(fm,"Players Fragment)underlined in red, tried to resolve this but getting nowhere, i would really appreciate a solution to this! thank you

错误p.show(fm,"Players Fragment)在红色下划线处,试图解决此问题但无济于事,我真的很感激这个解决方案!谢谢

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.view.View;
import android.widget.Button;




public class MainActivity extends FragmentActivity {

    Button showBtn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

         final FragmentManager fm =getSupportFragmentManager();
         final PlayersFragment p=new PlayersFragment();

        showBtn=(Button)findViewById(R.id.button1);
        showBtn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                p.show(fm,"Players Fragment");   //error is here
            }

        });
    }
}

回答by Semyon Danilov

I suppose you are using android.app.DialogFragmentand not android.support.v4.app.DialogFragment. Just extend PlayersFragmentfrom support library's android.support.v4.app.DialogFragment. Or, if you are not targeting old devices, you can change getSupportFragmentManager()to getFragmentManager()

我想你正在使用android.app.DialogFragment而不是android.support.v4.app.DialogFragment. 只需PlayersFragment从支持库的android.support.v4.app.DialogFragment. 或者,如果您不针对旧设备,则可以更改getSupportFragmentManager()getFragmentManager()

回答by user5775240

You have to import android.support.v4.app.DialogFragmenton the class PlayersFragmentand then change getSupportFragmentManager()to getFragmentManager().

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