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 ListView
fragment in android studio and getting error
cannot resolve method show(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
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
}
});
}
}
I suppose you are using android.app.DialogFragment
and not android.support.v4.app.DialogFragment
. Just extend PlayersFragment
from support library's android.support.v4.app.DialogFragment
. Or, if you are not targeting old devices, you can change getSupportFragmentManager()
to getFragmentManager()
您必须在PlayersFragment
类上导入android.support.v4.app.DialogFragment
,然后将getSupportFragmentManager()
更改为getFragmentManager()
。
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.