我实现了一个名为RemoteInput的输入方法,只是扩展InputMethodService,没有InputViews而没有键盘.当用户选择RemoteInput作为默认IME时,RemoteInput会将当前输入状态发送给其他设备,用户可以远程执行输入操作(使用我们的定制协议).输入完成后,在其他设备中输入的文本将被发送回当前设备,然后RemoteInput将文本提交到当前UI组件(如EditText)上InputConnection.commitText (CharSequence text, int newCursorPosition).
当远程输入的文本是英文字符和数字时,它是完美的,但是当涉及到其他字符时出现问题.我发现InputConnection.commitText过滤其他字符.例如,我输入hello??,只能hello成功提交.和更多:
hello world ==> helloworldhello,world!! ==> helloworld你提出的任何事情都会有所帮助,在此先感谢你们.
这是我的代码:
public class RemoteInput extends InputMethodService {
protected static String TAG = "RemoteInput";
public static final String ACTION_INPUT_REQUEST = "com.aidufei.remoteInput.inputRequest";
public static final String ACTION_INPUT_DONE = "com.aidufei.remoteInput.inputDone";
private BroadcastReceiver mInputReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (ACTION_INPUT_DONE.equals(intent.getAction())) {
String text = intent.getStringExtra("text");
Log.d(TAG, "broadcast ACTION_INPUT_DONE, …Run Code Online (Sandbox Code Playgroud) 我发现标签{% url path.to.view %}只能返回URL的路径,如何获取域名的完整URL?
实际上,我想要做的是,添加指向我网站的另一个视图的链接.但{% url path.to.view %}只能得到我的观点.结果,链接不能指向我想要的.
我的解决方案是HttpRequest.get_host()在第一个视图中使用以获取域并通过Context将其传递给模板.然后,在模板(html文件)中,拼接到完整的URL地址.像这样:<a href="http://{{ domain }}{% url path.to.view %}?param={{param}}">Foo</a>.
简而言之,我只想获得域名.对不起我的描述不清楚!@Hans的回答很棒,谢谢!
我使用两个NumberPicker来显示我的应用程序中的省(mProvincePicker)和城市(mCityPicker)数据.当用户更改省数据时,应相应地更改城市数据.我重置了mCityPicker数据NumberPicker.onValueChange(NumberPicker picker, int oldVal, int newVal).但它不能很好地运行java.lang.ArrayIndexOutOfBoundsException应用程序崩溃.
这是我的代码:
public class AreaPickerDialog extends Dialog implements OnValueChangeListener, OnClickListener {
static final String TAG = "AreaPickerDialog";
private NumberPicker mProvincePicker;
private NumberPicker mCityPicker;
private Button mCancelBtn;
private Button mOKBtn;
private AreaUtil mAreaUtil;
private List<Area> mProvinces;
private int mAreaId;
private int mProvinceId;
private Handler mHandler;
public AreaPickerDialog(Context context, Handler handler, int areaId) {
super(context);
mAreaUtil = AreaUtil.getInstance();
mProvinces = mAreaUtil.getProvinceList();
mAreaId = areaId;
mProvinceId …Run Code Online (Sandbox Code Playgroud)