小编xia*_*yao的帖子

Android:两个EditText不能有两个addTextChangedListener?

我正在尝试创建两个EditText,我在其中一个EditText中键入任何内容,我键入的文本将显示在另一个EditText上.

private EditText input_a;
private EditText input_b;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    input_a = (EditText) findViewById(R.id.input_a);
    input_b = (EditText) findViewById(R.id.input_b);
    input_a.setOnFocusChangeListener(this);
    input_b.setOnFocusChangeListener(this);
}
@Override
public void onFocusChange(View v,boolean hasFocus) {
    // TODO Auto-generated method stub
    if(v==input_a && hasFocus){
        input_a.setText("");
        input_b.setText("");
        input_a.addTextChangedListener(new TextWatcher(){

            @Override
            public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub
                input_b.setText(input_a.getText());
            }

            @Override
            public void beforeTextChanged(CharSequence s, int start,
                    int count, int after) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onTextChanged(CharSequence …
Run Code Online (Sandbox Code Playgroud)

crash android android-edittext

5
推荐指数
1
解决办法
909
查看次数

C++:arr.size()是循环的一个好条件吗?

如果有一个名为arr的向量包含大量数据,那么我将打印该向量中的所有值.我会使用:

int arr_size = arr.size();
for(int i=0; i<arr_size; ++i) {//print the values}
Run Code Online (Sandbox Code Playgroud)

或者以这种方式实现它:

for(int i=0; i<arr.size(); ++i) {//print the values}
Run Code Online (Sandbox Code Playgroud)

在我看来,第一种实现方式是将向量的大小提取到缓存中,从而在第一次未命中后使条件更快.第二次实施怎么样?它慢了吗?每次满足条件时,系统是否会调用size()方法?

编辑:假设它使用的是C++.

c++ caching for-loop

5
推荐指数
1
解决办法
1643
查看次数

标签 统计

android ×1

android-edittext ×1

c++ ×1

caching ×1

crash ×1

for-loop ×1