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;
}
}
尝试在 android studio 中创建一个 ListView
fragment 并获取
错误
cannot resolve method show(android.support.v4.app FragmentManager,java.lang.string)
错误是在 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
}
});
}
}
最佳答案
我想您使用的是 android.app.DialogFragment
而不是 android.support.v4.app.DialogFragment
。只需从支持库的 android.support.v4.app.DialogFragment
扩展 PlayersFragment
。或者,如果您不针对旧设备,则可以将 getSupportFragmentManager()
更改为 getFragmentManager()
关于java - 无法解析方法 show(android.support.v4.app FragmentManager,java.lang.string),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32605774/