无法弄清楚出了什么问题。在活动中,下面的代码就像一个魅力。但是当我在片段中使用它时,应用程序会因此错误而崩溃
person
这是代码
java.lang.NoClassDefFoundError
一旦调用setOnCheckedChangeListener,应用程序崩溃......我尝试了不同的方法来实现活动,上下文,尝试使用OnClick ...但我可以弄清楚如何使用切换。欢迎任何帮助。谢谢!
更新
public class design extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_design, container, false);
Switch night_mode_always = (Switch)view.findViewById(R.id.sNight);
night_mode_always.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Toast.makeText(getActivity(), "TEST", Toast.LENGTH_LONG).show();
}
});
return view;
}
}
答案 0 :(得分:1)
您需要使用设计库:
compile 'com.android.support:design:23.3.0'
我也不确定你使用什么类型的片段。它是支持库Fragment吗?如果是,您可以使用交换机的appcompat版本:
http://www.truiton.com/2015/03/android-switch-button-example/
开关如下所示:
<android.support.v7.widget.SwitchCompat
android:id="@+id/switch_compat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="50dp"
android:layout_marginStart="50dp"
android:layout_marginTop="25dp"
android:checked="false"
android:text="SwitchCompat (SDK v7+)"
android:textOff="OFF"
android:textOn="ON"
app:showText="true"/>