我试图让ToggleButton工作,但我遇到了一些问题.它点击时似乎恢复到默认值,我导航到另一个屏幕.2.我尝试使用SharedPreferences将其isChecked()值转移到另一个活动,现在它崩溃了.
<ToggleButton
android:id="@+id/togBTN"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/homeBtn"
android:layout_centerHorizontal="true"
android:layout_marginTop="106dp"
android:text="Voice Alerts"
android:textOff="OFF"
android:textOn="ON" />
Run Code Online (Sandbox Code Playgroud)
上面的代码在我的xml文件中.下面的代码是onClickListener代码.
case R.id.togBTN:
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("tgpref", tg.isChecked()); // value to store
editor.commit();
break;
}
Run Code Online (Sandbox Code Playgroud)
这段代码是我尝试检索值的地方
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
boolean tgpref = preferences.getBoolean("tgpref", true); //default is true
if (tgpref = true) //if (tgpref) may be enough, not sure
{
speakValue = true;
}
else
{
speakValue = false;
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的Logcat:
02-21 14:49:09.587: W/dalvikvm(483): threadid=1: thread exiting with uncaught exception (group=0x40015560)
02-21 14:49:09.597: E/AndroidRuntime(483): …Run Code Online (Sandbox Code Playgroud) 我想重新设计我的切换按钮。我在 xaml 中创建 ToggleButton:
<ToggleButton Width="15" Grid.Column="2" />
Run Code Online (Sandbox Code Playgroud)
并在资源中有 ToggleButton 样式:
<Style TargetType="ToggleButton">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Path Name="Arrow" Fill="Black" HorizontalAlignment="Center" VerticalAlignment="Center" Data="M 0 0 L 4 4 L 8 0 Z" />
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="true">
<Setter TargetName="Arrow" Property="Data" Value="M 0 4 L 4 0 L 8 4 Z" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)
当我尝试构建时出现此错误:
无法在类型“System.Windows.Controls.Control”上找到模板属性“IsChecked”。
我该如何解决这个问题?
<ToggleButton
android:id="@+id/toggle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/check"
android:layout_margin="10dp"
android:textOn=""
android:textOff=""
android:focusable="false"
android:focusableInTouchMode="false"
android:layout_centerVertical="true"/>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- When selected, use grey -->
<item android:drawable="@drawable/selected_image"
android:state_checked="true" />
<!-- When not selected, use white-->
<item android:drawable="@drawable/unselected_image"
android:state_checked="false"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
如何使用颜色代替可绘制的颜色?
我试过这个:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="@color/bg_blue"/>
<item android:state_checked="false" android:color="@color/bg_light_grey"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
在名称为bg_toggle.xml的颜色文件夹中定义了上述选择器
和
android:background="@color/bg_toggle"
Run Code Online (Sandbox Code Playgroud)
这给出了一个例外:
android.view.InflateException:二进制XML文件行#50:错误膨胀类android.widget.ToggleButton
org.xmlpull.v1.XmlPullParserException:二进制XML文件行#4:标记需要一个'drawable'属性或定义drawable的子标记
谢谢
我希望能够按下一个显示“隐藏”的按钮,然后在用户单击该按钮时说“显示”。在下面的代码中,切换部分有效,但现在我需要“隐藏”文本一旦内容被隐藏就变成“显示”。
我从以下位置获取切换代码:http : //thedesignspace.net/MT2archives/000298.html#.UW61YqKG33U
<script type="text/javascript">
function toggle(element) {
document.getElementById(element).style.display = (document.getElementById(element).style.display == "none") ? "" : "none";
}
</script>
<div class="ISBody">
<h5>Header</h5>
<div class="ISTopLink"><a href="#ISTop">Return to Top</div>
<div class="ISHide"><a href="javascript:toggle('pos')">Hide Products - </a></div>
<hr>
<div id="pos" style="display: block;">
<div class="ISProductBody">
<div class="ISSubHead"><A HREF="#">Prodcut Name</A></div>
<div class="ISList">
<ul>
<li>Text here</li>
<li>Text here</li>
<li>Text here</li>
<li>Text here</li>
</ul>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud) 我在WPF中切换按钮,当用户点击它时,更改其图标.什么是最好的设计?单击该按钮时,将调用事件处理程序.然后怎样呢?我应该使用依赖属性吗?
谢谢
一位用户告诉我他无法在我的应用程序中打开一个片段,因为他遇到了崩溃.我有logcat:
java.lang.NullPointerException
at com.dd.androreboot.devicecontrolfragment.onCreateView(devicecontrolfragment.java:162)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:829)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1035)
at android.app.BackStackRecord.run(BackStackRecord.java:635)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1399)
at android.app.FragmentManagerImpl$1.run(FragmentManager.java:426)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4921)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
在第162行我有这个代码:
ConnectivityManager connManager = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mobile = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
datatoggle = (ToggleButton)v.findViewById(R.id.datatoggle);
datatoggle.setChecked(mobile.isConnectedOrConnecting()); //line 162
Run Code Online (Sandbox Code Playgroud)
这部分代码需要检查3g是否已连接,如果是,则切换按钮状态变为true.它适用于我试过的每个设备,但不适用于这个:Galaxy Note 10.1(p4notewifi).有帮助吗?
我希望在寓言中有一个简单的显示/隐藏内容行为.像这样的东西.
function myFunction() {
var x = document.getElementById("myDIV");
if (x.style.display === "none") {
x.style.display = "block";
} else {
x.style.display = "none";
}
}Run Code Online (Sandbox Code Playgroud)
<button onclick="myFunction()">Click Me</button>
<div id="myDIV">
This is my DIV element.
</div>Run Code Online (Sandbox Code Playgroud)
最合适的方法是什么?