2015-12-31 23 views
1

我的代码在下面提到,不知道它有什么问题。我在Fragment中有列表视图,并且想要在点击列表项目上调用活动。如何从点击清单项目调用活动

public class fren_fragment extends Fragment { 
    FrenListAdapter cAdapter; 
    ListView cListView; 


    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.friend_fragment, container, false); 
    } 

    @Override 
    public void onActivityCreated(Bundle savedInstanceState) { 

     super.onActivityCreated(savedInstanceState); 

     cAdapter = new FrenListAdapter(getActivity()); 
     cListView = (ListView) getActivity().findViewById(android.R.id.list); 
     cListView.setAdapter(cAdapter); 
     cListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       cListView.setItemChecked(position,true); 
       Context context = view.getContext(); 
       Intent intent = new Intent(context, CompanyDetailActivity.class); 
       context.startActivity(intent); 
      } 
     }); 

    } 
} 
+0

取代'context'取代'getActivity()' –

+0

你的问题在这里很不明确,你能编辑它来描述你的具体问题吗?它可能有助于阅读[我如何问一个好问题?](http://stackoverflow.com/help/how-to-ask) – DaveyDaveDave

+0

请确保你的'onItemClick'正在通过写一些logcat来检查它 –

回答

0

ContextIntent是错误的,试试这个。

cListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
     cListView.setItemChecked(position,true); 
     Intent intent = new Intent(getActivity(), CompanyDetailActivity.class); 
     startActivity(intent); 
    } 
}) 
+0

不工作:(:( –

+0

后,我单击列表中的项目 –

+0

发表您的崩溃日志中的应用进行了崩溃 – Jas

0

你应该改变

Context context = view.getContext(); 
Intent intent = new Intent(context, CompanyDetailActivity.class); 
context.startActivity(intent); 

Intent intent = new Intent(getActivity(), CompanyDetailActivity.class); 
startActivity(intent); 
+0

不工作:(:( –

+0

我想我已经做了愚蠢的错误在CompanyDetailActivity –

+0

如果您的应用程序崩溃,错误请张贴logcat的 –

0

试试这个:

Intent intent = new Intent(getActivity(), CompanyDetailActivity.class); 
startActivity(intent); 
1

试试这个:

cListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      cListView.setItemChecked(position, true); 

      Intent intent = new Intent(getActivity(), CompanyDetailActivity.class); 
      getActivity().startActivity(intent); 
     } 
    }); 
0

更改您的代码如下

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
View view= inflater.inflate(R.layout.friend_fragment, container, false); 
cAdapter = new FrenListAdapter(getActivity()); 
cListView = (ListView) view.findViewById(android.R.id.list); 
cListView.setAdapter(cAdapter); 
cListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
     cListView.setItemChecked(position,true); 
     Intent intent = new Intent(getActivity(), CompanyDetailActivity.class); 
     getActivity().startActivity(intent); 
    } 
}); 
} 

删除

@Override 
public void onActivityCreated(Bundle savedInstanceState) { 
} 
相关问题