我如何从listadapter调用片段

时间:2015-10-21 07:28:41

标签: android

您好我正在从我的自定义适配器调用片段但是显示错误可以帮助我这里的任何一个是MyListAdapter片段

 @Override
public View getView(final int position, View convertView, ViewGroup parent) {
    final TextView view = new TextView(parent.getContext());
    view.setText(values.get(position));

    view.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view1) {

            // Get the position
            Log.w(MyListAdapter.LOG_KEY, "MyListAdapter Lable Clicked");

            Intent intent= new Intent(context, SingleItemView.class);
            context.startActivity(intent);
        }
    });

    return view;
}

和我的SingleItemView.class

public class SingleItemView extends Fragment{

LinearLayout linearLayout;

 public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    linearLayout = (LinearLayout) inflater.inflate(R.layout.listview_item, container, false);

setHasOptionsMenu(true);

return linearLayout;

} }

,这是错误消息

enter image description here

2 个答案:

答案 0 :(得分:1)

您无法按Fragment启动IntentFragment必须由Activity托管Activity。您必须导航到此Fragment

如果您想在Activity Fragment中开始特殊ViewPager(例如Intent中的任何Activity),请在Fragment中添加任何标记。通过public class NewsViewModel { public News News { get; set; } public HttpPostedFileBase File { get; set; } } public ActionResult Insert(NewsViewModel model) { /* ... */ } 中的此标记,您可以确定应启动哪个 @Html.TextBoxFor(model => model.File, new { type = "file" })

答案 1 :(得分:1)

因为你无法通过Intent调用Fragments,Fragment是FragmentActivity的一部分

总而言之,Fragment是一个内容而不是容器,所以你需要创建一个FragmentActivity并在其中添加Fragment(Favorite),然后调用

Intent intent1 = new Intent(context,SomeFragmentActivity.class);

startActivity(intent1);

片段是应用程序的一部分用户界面或行为,可以放在一个Activity中。 http://developer.android.com/reference/android/app/Fragment.html