我有几个EditText字段,我想用setOnFocusChangeListener保存到SQLiteDatabase.我是否必须单独在每个上设置一个onFocusChangeListener,或者是否有某种类型的捕获?(getActivity().findViewByID因为这是一个片段)
final TextView txtName = (TextView)getActivity().findViewById(R.id.clientHeader);
final TextView txtCompany = (TextView)getActivity().findViewById(R.id.txtContactCompany);
final TextView txtPosition = (TextView)getActivity().findViewById(R.id.txtContactPosition);
txtName.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if(!hasFocus) {
saveThisItem(txtClientID.getText().toString(), "name", txtName.getText().toString());
}
}
});
txtCompany.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if(!hasFocus) {
saveThisItem(txtClientID.getText().toString(), "company", txtCompany.getText().toString());
}
}
});
txtPosition.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if(!hasFocus) {
saveThisItem(txtClientID.getText().toString(), "position", txtPosition.getText().toString());
}
}
});
Run Code Online (Sandbox Code Playgroud)
就像...有一些方法可以获得EditText Views的ArrayList <EditText>,为现有的editTexts指定一个指针(对不起,不确定如何)并将onFocusChangeListener设置为整个arraylist?或者,甚至,遍历ArrayList并将onFocusChangeListener设置为每个成员?
或者是一种检测任何onFocusChangeListener事件的方法,只是将所有数据保存到数据库中,无论偶然发生什么EditText?
关于这一点我正在圈子里跑来跑去.只是无法绕过信号和插槽.
只是寻找一些机制,可以在我的C++中发出信号时自动更新我的UI.
例:
我在Qml中有两个带有text:_app.method的标签,它返回一个值.
我有一个按钮,onClicked运行Q_INVOKABLE方法.该方法在完成时发出信号,例如,获取地理坐标并更新上述文本:赋值所依赖的值.
我想要的是SOMETHING更新文本:一旦这些值改变就分配.
我只需要清楚地解释这些信号/插槽.文档中的唯一示例似乎只假设QML或C++,而不是两者的混合.示例代码包含示例,但未在文档中具体说明.
如果你有简单的描述,我相信我可以适应它.例如,1:在QML中定义,2:在hpp文件中定义,3:在cpp文件中定义这些.
我尝试过使用QObject的setPropery("text","value"),但尝试此操作时我的应用程序崩溃了.
告诉我,如果我错了......
1)在QML中:
Button {
id: aButton
text: _app.value
onClicked: {
_app.valueChanged.connect(aButton.onValueChanged);
_app.value = _app.value + 1;
}
function onValueChanged (val) {
aButton.text = "New value: " + val;
}
}
Run Code Online (Sandbox Code Playgroud)
2)在HPP中:
Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged)
public:
int value();
void setValue(int i);
signals:
void valueChanged(int);
private:
int m_iValue;
Run Code Online (Sandbox Code Playgroud)
3)在CPP中:
int class::value()
{
return m_iValue;
}
void class::setValue(int i)
{
// name is same as HPP WRITE Q_PROPERTY statement …Run Code Online (Sandbox Code Playgroud) 在Objective-C中没有直接的bCrypt(http://codahale.com/how-to-safely-store-a-password/)实现,虽然有C代码可以实现这一点,但它专门用于x86处理器,依靠BSD库.
我正在构建一个iOS应用程序,它与相应的在线(.NET和HTML5 + Javascript)应用程序共享相同的密码哈希值.
我不是应该在哪里,我可以阅读非常简单的Java代码(http://www.mindrot.org/projects/jBCrypt/)并将其转换为适合iOS开发的Objective-C代码.
但是,有一个Ruby实现(https://github.com/codahale/bcrypt-ruby),我听说你可以使用Ruby来构建iOS应用程序.我可以将Ruby代码转换为静态库,并将其链接到我的iOS项目吗?或者,甚至使用Mono并利用.NET实现(也是一个干净的,纯代码,无依赖项目)来构建静态库?
或者,最后,有没有人知道bCrypt代码的Objective-C实现?这看起来很简单,我只是不太了解.NET/C#/ Ruby自己翻译它.