在AndroidManifest.xml中加入紅色那行,加入寫入權限,就算只有讀取也要加入。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.test11"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.test11.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
</manifest>
2014年12月11日 星期四
2014年2月12日 星期三
[Matlab] Listbox 消失 single-selection listbox control requires that Value be an integer within String range
發生問題:
刪除listbox的最後一行後,listbox會消失,並在Command Windows 上顯示" Warning: single-selection listbox control requires that Value be an integer
within String range
Control will not be rendered until all of its parameter values are valid "
within String range
Control will not be rendered until all of its parameter values are valid "
如下圖所示
原因:
Listbox 中兩個重要的屬性 String 與 Value ,在刪減資料後,我們會重新set資料到listbox中的string,不過通常都忘記value也跟著設定,預設是不會改的,但刪除的是最後一行資料列時,指標還是指向最後一行,但資料早已不在,所以就無法顯示資料,
舉例來說
以下是我的listbox的資料與index
string={1,2,3,4,5}
value=5;
1
2
3
4
5<---
但我刪除第五筆資料時
1
2
3
4
<-----????
刪除後指標還是標記第五個,但是資料消失了,所以會出錯。
解決方法:
if val==1
set(h_lst2,'Strin',str,'value',1);
else
set(h_lst2,'Strin',str,'value',val-1);
end
在刪除資料後set時,把val設定成val-1,用例子表示的話,就是從原本的5只到4,這樣還是在目前listbox中的最後一個值,所以可以正常顯示。
正常啦,網路上寫得太複雜,有的說就選擇此新矩陣大小的長度,非常複雜~
訂閱:
文章 (Atom)