2015-10-21 46 views
0

你好我從我的自定義適配器呼籲片段,但其顯示的錯誤任何一個可以幫助我在這裏是MyListAdapter片斷我怎麼能叫片段從listadapter

@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

+0

片段不能使用意圖添加。 – jinkal

+0

你有初始化你的上下文嗎? – Mohit

+0

發佈適配器類的構造函數代碼 – Mohit

回答

1

您無法通過Intent開始FragmentFragment必須由任何Activity託管。你必須導航到這個Activity

如果你想在這些Activity啓動特殊Fragment(例如ViewPager任何Fragment)把任何標誌的Intent。通過您的Activity中的此標誌,您可以確定應啓動哪個Fragment

0

這是因爲你不能把通過意向片段,片段是FragmentActivity

總而言之片段的一部分內容沒有容器,所以你需要創建一個FragmentActivity並添加片段(收藏)在那,然後打電話

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

startActivity(intent1);

片段是可放置在活動中的應用程序的用戶界面或行爲的一部分。 http://developer.android.com/reference/android/app/Fragment.html