Android 如何通过单击列表项调用活动
下面提到了我的代码,我不知道它出了什么问题。我在片段中有列表视图,我想在单击列表项时调用活动Android 如何通过单击列表项调用活动,android,Android,下面提到了我的代码,我不知道它出了什么问题。我在片段中有列表视图,我想在单击列表项时调用活动 public class fren_fragment extends Fragment { FrenListAdapter cAdapter; ListView cListView; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup
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);
}
});
}
}
公共类法语片段扩展片段{
法兰西;卡达普特;
列表视图cListView;
@可空
@凌驾
创建视图时的公共视图(LayoutFlater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstanceState){
返回充气机。充气(R.layout.friend_碎片,容器,假);
}
@凌驾
已创建ActivityState上的公共无效(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
cAdapter=新FrenListAdapter(getActivity());
cListView=(ListView)getActivity().findViewById(android.R.id.list);
cListView.setAdapter(cAdapter);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
cListView.setItemChecked(位置,true);
Context=view.getContext();
意向意向=新意向(上下文,CompanyDetailActivity.class);
背景。开始触觉(意图);
}
});
}
}
您应该更改
Context context = view.getContext();
Intent intent = new Intent(context, CompanyDetailActivity.class);
context.startActivity(intent);
到
您的
上下文
对于您的意图
是错误的,请尝试此操作
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);
}
})
cListView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
cListView.setItemChecked(位置,true);
Intent Intent=new Intent(getActivity(),CompanyDetailActivity.class);
星触觉(意向);
}
})
试试这个:
Intent intent = new Intent(getActivity(), CompanyDetailActivity.class);
startActivity(intent);
试试这个:
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);
}
});
cListView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
cListView.setItemChecked(位置,true);
Intent Intent=new Intent(getActivity(),CompanyDetailActivity.class);
getActivity().startActivity(意图);
}
});
如下更改代码
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);
}
});
}
用
getActivity()
替换context
您这里的问题非常不清楚,您能编辑它来描述您的具体问题吗?请阅读并确认你的onimclick
正在运行,写一些日志进行检查。我不知道如何写,请你给我代码好吗?它可能只是在CompanyDetailActivity
中崩溃了。就这个问题而言,它已经解决了5次。我想我犯了一个愚蠢的错误CompanyDetailActivity在我单击列表项后应用程序崩溃扫描您能告诉我如何在android manifest.xml上添加此活动吗???我尚未在android manifestandroid.content.ActivityNotFoundException上添加此活动:无法找到显式活动类{com.example.nawin.demo/com.example.nawin.demo.CompanyDetailActivity};您是否在AndroidManifest.xml中声明了此活动?您是否在清单中声明了此活动<代码>
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) {
}