我在Lion上 - 在命令行中,当我使用"subl"打开我的项目时.在我的项目文件夹中 - 它打开了我退出Sublime之前打开的最后一个项目.
我没有选中Max Preference"退出时恢复窗口".
如何防止这种行为?是否有偏好设置?
我在设计偏好屏幕时遇到了非常奇怪的问题.虽然我没有给出任何布局余量,但是左边留有一些空间.
如下图所示:

XML:
<PreferenceScreen android:title="demo" >
<CheckBoxPreference
android:defaultValue="false"
android:key="prefSync"`
android:title="Auto Sync" />
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
我在屏幕上添加复选框首选项时做错了什么?
我需要在Activity启动时为ListPreference设置defult值.我已尝试过,ListPreference.setDefaultvalue("value");但它会将列表的第一个条目作为默认值.我需要它,因为我必须检查一个条件并设置为默认值满足该条件的值,所以我认为它不能从xml文件中完成(带android:defaultValue)
例如,假设我在arrays.xml中有这个值数组:
<string-array name="opts">
<item>red</item>
<item>green</item>
<item>blue</item>
</string-array>
<string-array name="opts_values">
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)
在PreferenceScreen xml中:
<ListPreference
android:title="Colour select"
android:summary="Select your favourite"
android:key="colour"
android:entries="@array/opts"
android:entryValues="@array/opts_values" />
Run Code Online (Sandbox Code Playgroud)
在活动中,我想做这样的事情:
String mycolour;
if (something) {
mycolour="1";
} else {
mycolour="2";
}
ListPreference colour = (ListPreference) findPreference ("colour");
colour.setDefaultValue(mycolour);
Run Code Online (Sandbox Code Playgroud)
但它不起作用,因为它使第一选择成为默认选择.你能解释一下如何制作另一个默认的吗?谢谢.
我想改变集成终端, CMDER我在Windows 8.1上使用Vscode我检查了文档和偏好文件,但我混淆了所以从下面这行将改变它
//外部终端
// Customizes which terminal to run on Windows.
"terminal.external.windowsExec": "%COMSPEC%",
// Customizes which terminal application to run on OS X.
"terminal.external.osxExec": "Terminal.app",
// Customizes which terminal to run on Linux.
"terminal.external.linuxExec": "xterm",
Run Code Online (Sandbox Code Playgroud)
//集成终端
// The path of the shell that the terminal uses on Linux.
"terminal.integrated.shell.linux": "sh",
// The command line arguments to use when on the Linux terminal.
"terminal.integrated.shellArgs.linux": [],
// The path of the shell that the terminal uses on OS X.
"terminal.integrated.shell.osx": …Run Code Online (Sandbox Code Playgroud) 如何在android中生成动态listPreference?我想获得所有的wifi接入点,并使用首选项Activity(即使用listpreference制作列表)制作一个列表.这该怎么做?
我创建了一个Android的动态壁纸,我试图让用户选择从他们的手机图像并把它作为背景图像,但是当我发起的活动,开始有意挑选图片,我的共享偏好唐好像保存得当.
下面是我当用户按下优选项按钮,我开始活动的onCreate方法,并获得设备上的图像的路径onActivityResult(一切似乎工作).提交首选项后的println什么都没打印出来.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, SELECT_PICTURE);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == SELECT_PICTURE) {
Uri selectedImageUri = data.getData();
selectedImagePath = getPath(selectedImageUri);
preferences = getApplicationContext().getSharedPreferences(PREFERENCES_NAME, 0);
preferences.edit().putString(SETTINGS_BACKGROUND_IMAGE, "okok");
preferences.edit().commit();
System.out.println("Image" + preferences.getString(SETTINGS_BACKGROUND_IMAGE, ""));
}
}
finish();
}
Run Code Online (Sandbox Code Playgroud) 我一直试图使用android.preference.DialogPreference从XML中膨胀,但文档似乎缺少一些基本的部分,我无法在任何地方找到一个有效的例子.我的XML现在看起来像这样(我尝试了许多排列,但这似乎是一个合理的最小值):
<DialogPreference
android:key="funThing" android:title="Fun Thing"
android:dialogLayout="@layout/fun_layout"
android:positiveButtonText="OK"
android:negativeButtonText="Cancel"
/>
Run Code Online (Sandbox Code Playgroud)
我在这一点上的假设是它需要子类DialogPreference而不是直接使用它.首先,我找不到将实际偏好值与对话框本身中的元素相关联的方法,这在反射时是一种赠品.而且,看来源DialogPreference.java似乎也证实了这一点.我还注意到官方文档将其称为"基类".但至少,在网上建立一个确定性足够的来源会很有帮助,这将有助于下一个N人比我更快地解决这个问题.
对于记录,日志文件如下所示:
I/ActivityManager( 61): Starting: Intent { cmp=org.jeremy.android/.PreferencesActivity } from pid 2755
W/Resources( 2755): Converting to string: TypedValue{t=0x10/d=0x4b0 a=-1}
W/Resources( 2755): Converting to string: TypedValue{t=0x10/d=0x20 a=-1}
D/AndroidRuntime( 2755): Shutting down VM
W/dalvikvm( 2755): threadid=1: thread exiting with uncaught exception (group=0x40015560)
E/AndroidRuntime( 2755): FATAL EXCEPTION: main
E/AndroidRuntime( 2755): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.jeremy.android/org.jeremy.android.PreferencesActivity}: android.view.InflateException: Binary XML file line #28: Error inflating class …Run Code Online (Sandbox Code Playgroud) 我找不到关于复选框偏好的任何教程.我可以使用listpreference,但我不能使用checkbox首选项.现在,我希望如果用户在checbox上设置,一个toast msg说"true",如果他将其设置为关闭,那么toast msg会说"false".到目前为止我有这个:
的preferences.xml:
<CheckBoxPreference
android:title="Show Call UI"
android:defaultValue="true"
android:summary="Show Call Interface when clicking call button"
android:key="checkboxPref" />
Run Code Online (Sandbox Code Playgroud)
EditPreferences.java:
public class EditPreferences extends PreferenceActivity {
String listPreference;
boolean checkboxPreference;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
public void onStart(Intent intent, int startId) {
getPrefs();
}
private void getPrefs() {
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(getBaseContext());
listPreference = prefs.getString("listPref", "nr1");
checkboxPreference = prefs.getBoolean("checkboxPref", true);
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:解决方案感谢David Caunt:
checkboxPreference.
setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
if …Run Code Online (Sandbox Code Playgroud) 我正在使用PreferenceFragment(没有a ListView),但无法设置背景颜色,而且它似乎是透明的.
如何将背景颜色设置为白色PreferenceFragment?
编辑:第一个截图:

覆盖onCreateView不起作用 -

在我的首选项屏幕上,我有一个偏好,点击时打开一个颜色选择器对话框.我想要做的是当用户选择一种颜色时,首选项的文本摘要以该颜色显示.
我知道我可以像这样设置摘要,Currently <font color="#ff0000">this color</font>并以它显示颜色.问题是我得到的颜色是android int颜色.
我可以使用red(),green(),blue()方法,然后将它们转换为Hex,然后将它们组合成一个字符串,这样我就可以使用新值设置摘要文本并且这样做:String colorString = String.format("#%02x%02x%02x",Color.red( defaultColor ), Color.green( defaultColor ), Color.blue( defaultColor ));我只是很好奇,如果有的话这是一种更简单的方法.
提前谢谢.
肖恩
preference ×10
android ×8
colors ×1
java ×1
preferences ×1
sublimetext ×1
summary ×1
text ×1
wallpaper ×1
xml ×1