设置onclick侦听器在android中无法从一个片段移动到另一个活动[重复]
Posted
技术标签:
【中文标题】设置onclick侦听器在android中无法从一个片段移动到另一个活动[重复]【英文标题】:set onclick listener not working in android for moving from one fragment to another activity [duplicate] 【发布时间】:2017-04-03 01:24:59 【问题描述】:当我设置意图从一个片段转到另一个活动时,我的应用程序崩溃了。我在上面设置了 onClickListener。它告诉我没有错误是什么问题。这是它的代码。每当用户单击图像时,他就会被带到另一个活动,这就是我想要做的。
public class HomeFragment extends Fragment
private ImageView images;
public HomeFragment()
// Required empty public constructor
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
View view = inflater.inflate(R.layout.fragment_home, container, false);
images = (ImageView) view.findViewById(R.id.complaint_posted);
images.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
Intent intent=new Intent(getActivity(), DetailPost.class);
startActivity(intent);
);
return view;
` 这是我的日志猫
【问题讨论】:
您是否在清单中注册了 DetailPost?请添加Logcat 在 onCreateView() 中写入 setOnclick 图像列表,您将其关闭。只需检查大括号打开和关闭 你可能会得到空指针异常,因为@Allu 说你关闭了大括号,将你的 onClickListener 移动到大括号内 @rookieDeveloper 我更正了它,但它仍然无法正常工作。应用仍然崩溃 尝试调试,你可以得到它给出错误的地方,或者发布异常堆栈跟踪 【参考方案1】:我会建议重写 onActivityCreated 方法:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
View view = inflater.inflate(R.layout.fragment_home, container, false);
return view;
@Override
public void onActivityCreated(Bundle savedInstanceState)
super.onActivityCreated(savedInstanceState);
images = (ImageView) view.findViewById(R.id.complaint_posted);
images.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
Intent intent=new Intent(getActivity(), DetailPost.class);
startActivity(intent);
);
我会建议尝试更改您的代码。它会工作
【讨论】:
【参考方案2】:好的,其实很简单,你只需要修改你的代码
在开头声明所有内容时添加此行,
final Context context = this.getActivity().getApplicationContext();
然后将intent改为
Intent intent=new Intent(context, DetailPost.class);
因为当你调用 getActivity();方法你没有提到你得到的活动。
【讨论】:
以上是关于设置onclick侦听器在android中无法从一个片段移动到另一个活动[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 gridlayout 设置 OnClick android cardview 示例