单击片段中的按钮时会发生此错误

时间:2016-12-08 05:59:49

标签: android android-studio

我正在使用标签活动并添加片段和活动。现在我想通过单击片段中的按钮打开活动当我点击按钮应用程序崩溃错误时发生应用程序停止,这是不行的。

我正在使用此代码:

public class SmsList extends Fragment{

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View rootview = inflater.inflate(R.layout.fragment_sms_list, container, false);
        Button button1 = (Button)rootview.findViewById(R.id.btinboxsms);
        Button button2 = (Button)rootview.findViewById(R.id.btsetetime);

        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v)
            {
                Intent i = new Intent(getActivity(), InboxSms.class);

                startActivity(i);

            }
        });

        return rootview;
    }
}
  

java.lang.IllegalStateException:无法在父级或祖先语句中找到方法setListFooter(View)for android:onClick属性在视图类android.support.v7.widget.AppCompatButton上定义,ID为' btinboxsms&#39 ;

3 个答案:

答案 0 :(得分:0)

试试这个

this.getActivity.startActivity(this.getApplicationContext(), InboxSms.class);

答案 1 :(得分:0)

 Context context=rootview.getContext();
 Intent i = new Intent(context, InboxSms.class);
 startActivity(i);

答案 2 :(得分:0)

点击Fragment中的Button,你只需要调用Intent。 尝试下面的代码希望这对你有用。

public class AlertFragment extends android.support.v4.app.Fragment{
@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
abcBtnn.setOnClickListener(new View.OnClickListener() {
 @Override
        public void onClick(View view) {
Intent intent = new Intent(getActivity(), SecondActivity.class);
startActivity(intent);
}
});
}

P.S 您必须在自己的应用宣言中声明自己的活动