我想让达到这样一个功能,按下MyActivity 的view里头的一个button,然后弹出像下图的一个对话框。我看到android里头都是用PreferenceActivity。我应该是让MyActivity 继承PreferenceActivity,还是应该在button的onClick()函数里头创建一个PreferenceActivity呢?
我试了试让MyActivity 继承PreferenceActivity,效果如下,那我就没法定制我的MyActivity界面了,PreferenceActivity里头貌似必须要有个listView,是这样的么?
点击“area_preference_key”后
代码如下:
area_preference.xml<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<ListPreference
android:key="area_preference_key"
android:title="area_preference_key"
android:entries="@array/ver_count_entry_text"
android:entryValues="@array/ver_count_entry_value"
android:persistent="true" />
</PreferenceScreen>
MyActivity.java
public class MyActivityextends PreferenceActivity{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//这里我能设置另外的layout么?如果可以如何在控制我的layout中那个view click之后弹出listpreference 的对话框
addPreferencesFromResource(R.layout.area_preference);
}
}
就这个点了选中其中一向还报错, ListPreference真是难用。
D/AndroidRuntime( 227): Shutting down VM
W/dalvikvm( 227): threadid=3: thread exiting with uncaught exception (group=0x4001aa28)
E/AndroidRuntime( 227): Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime( 227): java.lang.NullPointerException
E/AndroidRuntime( 227): at android.preference.ListPreference.onDialogClosed(ListPreference.java:218)
E/AndroidRuntime( 227): at android.preference.DialogPreference.onDismiss(DialogPreference.java:359)
E/AndroidRuntime( 227): at android.app.Dialog$ListenersHandler.handleMessage(Dialog.java:1007)
E/AndroidRuntime( 227): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 227): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 227): at android.app.ActivityThread.main(ActivityThread.java:4203)
E/AndroidRuntime( 227): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 227): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( 227): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
E/AndroidRuntime( 227): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
E/AndroidRuntime( 227): at dalvik.system.NativeStart.main(Native Method)
我试了试让MyActivity 继承PreferenceActivity,效果如下,那我就没法定制我的MyActivity界面了,PreferenceActivity里头貌似必须要有个listView,是这样的么?
点击“area_preference_key”后
代码如下:
area_preference.xml<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<ListPreference
android:key="area_preference_key"
android:title="area_preference_key"
android:entries="@array/ver_count_entry_text"
android:entryValues="@array/ver_count_entry_value"
android:persistent="true" />
</PreferenceScreen>
MyActivity.java
public class MyActivityextends PreferenceActivity{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//这里我能设置另外的layout么?如果可以如何在控制我的layout中那个view click之后弹出listpreference 的对话框
addPreferencesFromResource(R.layout.area_preference);
}
}
就这个点了选中其中一向还报错, ListPreference真是难用。
D/AndroidRuntime( 227): Shutting down VM
W/dalvikvm( 227): threadid=3: thread exiting with uncaught exception (group=0x4001aa28)
E/AndroidRuntime( 227): Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime( 227): java.lang.NullPointerException
E/AndroidRuntime( 227): at android.preference.ListPreference.onDialogClosed(ListPreference.java:218)
E/AndroidRuntime( 227): at android.preference.DialogPreference.onDismiss(DialogPreference.java:359)
E/AndroidRuntime( 227): at android.app.Dialog$ListenersHandler.handleMessage(Dialog.java:1007)
E/AndroidRuntime( 227): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 227): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 227): at android.app.ActivityThread.main(ActivityThread.java:4203)
E/AndroidRuntime( 227): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 227): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( 227): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
E/AndroidRuntime( 227): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
E/AndroidRuntime( 227): at dalvik.system.NativeStart.main(Native Method)
解决方案 »
- android4.0中setting模块修改preferencecategory显示的背景宽度
- Button r=new Button(this); 就出错,不知道什么原因?
- android-x86大部分应用装不上有解吗?
- 加一个1G的sd卡,创建了一个,但是不知道如何加到模拟器设备上去
- 如何实现ActionBar标题栏(非选项)处的点击事件
- webview中js调用java的问题
- android中如何优化浏览器,像uc一样
- SearchView的OnQueryTextListener中两个方法的返回值有何用?
- BLE 蓝牙writeCharactar疑惑
- textview 如何跟新值?
- 如何使peerdroid sample运行啊。。
- 图片全屏显示
ContextMenuExtension of Menu for context menus providing functionality to modify the header of the context menu.Context menus do not support item shortcuts and item icons.
这个是指里头每一个item都不能有图标么?
To show a context menu on long click, most clients will want to call registerForContextMenu(View) and override onCreateContextMenu(ContextMenu, View, ContextMenu.ContextMenuInfo).
<resources>
<string-array name="entries_list_preference">
<item>one</item>
<item>two</item>
<item>three</item>
</string-array>
<string-array name="entriesvalue_list_preference">
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
</resources>