有没有办法在PreferenceFragment中创建只接受整数值的首选项?我可以实现一个EditTextPreference并注册一个OnPreferenceChangeListener,如果用户输入一个不是数字的字符串,我可以拒绝更改,但我更喜欢那些仅用于保存数字而且不允许用户输入任何其他内容的字符串,也许只显示拨号盘键盘..我不存在这样的偏好,因为Preference的每个后代都映射到布尔值(CheckBoxPreference),String(*EditTextPreference)或String数组(MultiSelectListPreference),即有没有偏好映射到整数,但也许你们中的一些人可以给我一个提示或至少告诉我是否有比我上面提出的解决方案更好的解决方案.
Gray提出的解决方案:
EditText editText = ((EditTextPreference)
findPreference("intent_property")).getEditText();
editText.setKeyListener(new NumberKeyListener() {
@Override
public int getInputType() {
// The following shows the standard keyboard but switches to the view
// with numbers on available on the top line of chars
return InputType.TYPE_CLASS_NUMBER;
// Return the following to show a dialpad as the one shown when entering phone
// numbers.
// return InputType.TYPE_CLASS_PHONE
}
@Override
protected char[] getAcceptedChars() { …Run Code Online (Sandbox Code Playgroud) 有关如何记录用XCode编写的代码的指南/标准吗?我的意思是,有没有办法记录代码,如果你想让其他人容易理解?XCode是否提供了一种工具,可用于从代码+注释中自动生成类似API参考文档的文档?
至少我有兴趣了解在代码中定义的接口/协议/方法之前是否存在编写注释的标准方法.我见过使用类似下面的指令,但我不明白它们是如何工作的:
#pragma mark -
#pragma mark Initialization
Run Code Online (Sandbox Code Playgroud) 我正在阅读初学Android 4开发,在第5章中它讨论了Gallery和ImageVievs,并介绍了声明式样式的 XML标签,但没有解释其目的.我试图在参考上找到一些信息,没有运气..例如我们有以下内容:
RES /值/ attrs.xml
<?xml version=”1.0” encoding=”utf-8”?>
<resources>
<declare-styleable name=”Gallery1”>
<attr name=”android:galleryItemBackground” />
</declare-styleable>
</resources>
Run Code Online (Sandbox Code Playgroud)
example.java
public class GalleryActivity extends Activity {
[...]
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Gallery gallery = (Gallery) findViewById(R.id.gallery1);
gallery.setAdapter(new ImageAdapter(this));
[...]
}
[...]
public class ImageAdapter extends BaseAdapter {
[...]
int itemBackground;
public ImageAdapter(Context c) {
context = c;
//---setting the style---
TypedArray a = obtainStyledAttributes(
R.styleable.Gallery1);
itemBackground = a.getResourceId(
R.styleable.Gallery1_android_galleryItemBackground, 0);
a.recycle();
}
public View …Run Code Online (Sandbox Code Playgroud) 我看到几个与我几乎完全相同的问题,但我找不到满足我所有疑虑的完整答案..所以我在这里..假设你有一个内部类的活动,扩展了这个AsyncTask类:
public class MyActivity extends Activity {
private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
protected Bitmap doInBackground(String... urls) {
return DownloadImage(urls[0]);
}
protected void onPostExecute(Bitmap result) {
ImageView img = (ImageView) findViewById(R.id.img);
img.setImageBitmap(result);
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new DownloadImageTask().execute("http://mysite.com/image.png")
}
}
Run Code Online (Sandbox Code Playgroud)
假设活动暂停或销毁(可能两种情况不同),而 DownloadImageTask仍然在后台运行..那么,DownloadImageTask可以触发在活动UI线程上运行的方法,并且DownloadImageTask可能尝试访问Activity的方法(它是一个内部类,因此它可以使用暂停或销毁的Activity来访问外部类的方法和实例变量,就像findViewByID下面示例中的调用一样..那么会发生什么?它是否默默失败?它会产生任何异常吗?是否会通知用户出现了问题?
如果在调用run-on-UI方法时我们应该注意启动线程(本例中的Activity)仍处于活动状态,那么我们如何从内部实现AsyncTask呢?
如果您认为这是一个重复的问题,我很抱歉,但也许这个问题有点明确,有人可以更详细地回答
我正在使用PreferenceManager.setDefaultValues(context,R.xml.preferences,false)我的应用程序中设置首选项的默认值,我注意到如果我添加一个新的首选项,那么PreferenceFragment即使它在preferences.xml中设置,我也不显示它的默认值.
这是因为我将readAgain指定为false吗?
我知道我可以简单地尝试看看,但我只是想确保readAgain用于此目的,即重新读取默认值不重新设置用户设置,而是设置新属性的默认值.如果这正是readAgain标志的目的,那么你可以给我一个不总是将readAgain设置为true 的理由,因为它没有重置用户首选项吗?
我知道v4支持库可用于在旧的Android版本中实现已经在更新版本中引入的东西,例如Fragments ..如果我们实现一个使用v4支持库来显示Dialog Fragments的应用程序,例如,当它在ICS上运行时它是否使用最新的代码(即原始和新的片段)还是仍然使用每个Android版本的支持代码?
有没有办法在同一个应用程序中使用android.app.Fragment类和android.support.v4.app.Fragment类,如果我们在启用Fragment的Android 版本上运行,或者在导入v4支持库时我们只需要使用支持类,那么在运行时会有区别吗?
也许我错了,但是在我最近的平台上运行时,我似乎不想使用最新的代码.
坚持Dialog Fragment案例,您认为哪个更好:
1)使用v4支持库,即在所有Android版本上使用兼容性代码
2)android.app.DialogFragment在API级别11或更高级别上运行时使用new ,并在API级别<11上运行时使用该类的弃用showDialog和onCreateDialog方法Activity
正如我已经说过的那样,最好的一个恕我直言将是以下,但(如果我错了,请纠正我)这不是一个可能的解决方案:
3)android.app.DialogFragment在API级别11或更高级别上运行时使用新类,并android.support.v4.app.DialogFragment在API级别<11上运行时使用该类
如果我有点混乱,我很抱歉,我希望这个问题很清楚......
android android-fragments android-dialogfragment android-support-library
我已经阅读了过渡到ARC注释,我仍然对我们应该/可以使用的属性属性有点混淆......我们可以使用弱代替赋值(具有如下优点:如果属性设置为nil它指向被释放的对象,强大的代替保留和代替复制的东西?我们仍然单独使用副本或者我们需要与副本结合使用,例如property (strong,copy)..也许我需要练习并再次阅读文档,因为ARC对我来说不是很清楚......
我有三个关于App Widget Options的问题:
1)如果我想为app小部件的选项添加一个选项值,我应该首先检索小部件选项,getAppWidgetOptions(int)然后操纵它Bundle,否则当我打电话时updateAppWidgetOptions(int appWidgetId, Bundle options)我会覆盖其他现有选项,对吧?
2)这个选项在重启后能够存活吗?即,如果我在配置活动中存储与小部件相关的一些信息,我确定即使重启后我也能找到它们吗?系统是否自动将它们保留在某个地方?
3)这比在共享首选项中存储窗口小部件选项更快吗?
我创建了一个应用程序,它使用UITextView文本视图,文本设置为Attributed,并启用了允许属性编辑选项..从我所理解的,这应该允许用户编辑一些属性,如粗体,斜体等当他选择TextView中包含的部分文本时..我在IOS 6.1模拟器中启动了应用程序,如果我在其中选择了一些文本,UITextView它没有显示任何属性的编辑选项,是模拟器问题还是我错过了什么?
预先感谢您的任何帮助.
android ×7
ios ×2
attr ×1
ios5 ×1
ipc ×1
objective-c ×1
ui-thread ×1
uitextview ×1
xcode4 ×1
xcode4.6 ×1