我想在偏好设置屏幕中设置时间选择器,并允许用户选择开始时间和结束时间,并将其存储为与其他设置一样的持久值.
你能否展示设置它所需的所有编码,因为我无法通过搜索找到类似的东西.
我想也许时间选择器应该在一个对话框中,但我还不知道如何设置它们.如果您可以显示调用带有开始和结束时间时间选择器的对话框的编码,以及如何保存该信息以便以后从首选项屏幕中检索,那将是很好的.
所有帮助将不胜感激.
真的,Emad
我正在首选屏幕上编写一个带有ListPreference的Android应用程序,允许用户从10%,20%,30%...... 100%中选择一个值.
OnPreferenceChangeListener.onPreferenceChange()当我尝试将ListPreference的摘要更改为所选值(ListPreference.setsummary(<string>))时,用户更改值(in )后,我发现应用程序在<string>以"%"结尾时崩溃,但在以"百分比"结束时则不会崩溃.
有没有人见过这个?你知道为什么会这样吗?是否有允许我使用"%"的解决方法?
我的应用程序中有首选项活动,它具有 ListPreference,因此用户可以为应用程序选择语言。
在用户关闭 Preferences 活动后,应用程序会立即显示新语言。
我想为 ListPreference 创建一个侦听器,以便在触发侦听器时应用程序将重新启动(就在用户从 ListPreference 中选择语言/选择项目之后)。
我怎样才能做到这一点?
设置活动:
public class SettingsActivity extends AppCompatPreferenceActivity {
/**
* A preference value change listener that updates the preference's summary
* to reflect its new value.
*/
private static Preference.OnPreferenceChangeListener sBindPreferenceSummaryToValueListener = new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object value) {
String stringValue = value.toString();
if (preference instanceof ListPreference) {
// For list preferences, look up the correct display value in
// the preference's 'entries' list.
ListPreference listPreference …Run Code Online (Sandbox Code Playgroud) java android preferenceactivity android-preferences listpreference
我使用波纹管样式将对话框背景颜色更改为深色,在我使用的首选项页面中ListPreference,应用此样式后,cancelListPreference 的按钮在对话框背景中消失了。
<style name="AppThemeBase" parent="Theme.MaterialComponents.DayNight">
<item name="colorPrimary">#212D3B</item>
<item name="colorPrimaryDark">#172331</item>
<item name="colorAccent">#61A3D7</item>
<item name="android:textColorPrimary">#FFFFFF</item>
<item name="android:dialogTheme">@style/AppTheme.Dialog</item>
<item name="android:alertDialogTheme">@style/AppTheme.Dialog</item>
</style>
<style name="AppTheme.Dialog" parent="Theme.MaterialComponents.DayNight.Dialog">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:background">#212D3B</item>
<item name="colorPrimary">#61A3D7</item>
<item name="colorPrimaryDark">#8DB2D3</item>
<item name="colorAccent">#61A3D7</item>
</style>
Run Code Online (Sandbox Code Playgroud)
有没有办法改变这个按钮的颜色?
android listpreference android-styles material-components-android
你能帮我解决一下错误"java.lang.NullPointerException".我使用自定义列表首选项来显示数据库中的元素.有两个文件CustomListPreference.java和DbHelper.java
CustomListPreference.java
public class CustomListPreference extends ListPreference {
CustomListPreferenceAdapter customListPreferenceAdapter = null;
Context mContext;
private SQLiteDatabase db;
DbHelper dbHelp = new DbHelper(mContext);
public CustomListPreference(Context context, AttributeSet attrs)
{
super(context, attrs);
mContext = context;
mInflater = LayoutInflater.from(context);
}
@Override
protected void onPrepareDialogBuilder(Builder builder)
{
...
try {
db = dbHelp.getReadableDatabase();//I get error java.lang.NullPointerException
...
}
Run Code Online (Sandbox Code Playgroud)
DbHelper.java
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DbHelper extends SQLiteOpenHelper {
static String DATABASE_NAME="myBase";
public static final String KEY_NAME="name";
public static final String KEY_ID="id"; …Run Code Online (Sandbox Code Playgroud) android ×5
dialog ×1
java ×1
material-components-android ×1
persistent ×1
sqlite ×1
timepicker ×1