我有一个程序,其中我需要在片段中实时更新值,当它进入片段活动时。快照如下所示
在这里,当我在片段活动(图像的上半部分)编辑 AL、K1 等的文本字段中输入值时,答案必须在下面的片段中更新。我应该如何将值实时发送到片段。帮帮我,我是初学者
我有一个程序,其中我需要在片段中实时更新值,当它进入片段活动时。快照如下所示
在这里,当我在片段活动(图像的上半部分)编辑 AL、K1 等的文本字段中输入值时,答案必须在下面的片段中更新。我应该如何将值实时发送到片段。帮帮我,我是初学者
在您创建片段的类中,创建一个名为public void updateText(String text)
. 在这个方法中,做所有需要的计算等,用传入的字符串计算片段中的数字,然后将文本设置为所有计算后得到的字符串。在 中,通过使用FragmentActivity
添加一个 并添加到类声明中。添加导入和所有未实现的方法,并在最近添加的方法中,通过说调用该方法,其中片段是您在将其附加到您的. 我希望这有帮助!让我知道您是否需要其他东西。或者,您可以更改方法以添加或更改最适合您需要的参数。textChangedListener
editText1.addTextChangedListener(this)
implements TextWatcher
onTextChanged
updateText(String)
fragment.updateText(String)
FragmentActivity
updateText(String)
下面是一个粗略的例子,希望能有所帮助。
package com.smarticle.example;
import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
public class Example extends Activity implements TextWatcher {
ExampleFragment exampleFragment;
EditText editText1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
exampleFragment = new ExampleFragment();
editText1 = (EditText) findViewById(R.id.editText1);
editText1.addTextChangedListener(this);
}
@Override
protected void onPause() {
super.onPause();
editText1.removeTextChangedListener(this);
}
public void afterTextChanged(Editable s) {
// I don't implement this, but it is required.
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// I don't implement this, but it is required.
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
exampleFragment.updateText(editText1.getText().toString().trim());
}
public class ExampleFragment extends Fragment {
public void updateText(String text) {
// Perform any necessary calculations or actions
}
}
}