jam*_*mes 1 java android android-fragments
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;
}
}Run Code Online (Sandbox Code Playgroud)
试图ListView在android studio中创建一个片段并获得错误
无法解析方法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
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
Sem*_*lov 16
我想你是在使用android.app.DialogFragment而不是android.support.v4.app.DialogFragment.只需PlayersFragment从支持库中扩展即可android.support.v4.app.DialogFragment.或者,如果您不是针对旧设备,则可以更改getSupportFragmentManager()为getFragmentManager()
| 归档时间: |
|
| 查看次数: |
10255 次 |
| 最近记录: |