- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个要求提供电子邮件和密码的 fragment 。我想将电子邮件转移到 Activity 中。
我想从 fragment 中传递来自 etCbMail
的文本,然后返回 Activity 。我一直收到 null 对象,我不知道如何返回 Activity 。
这是我的 fragment :
public class RegFragOne extends Fragment {
EditText etCbMail, etCbPassword, etCbVerifyPassword;
Button btnCbContinueToTwo;
OnDataPass dataPasser;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.reg_one, container, false);
etCbMail = (EditText) view.findViewById(R.id.etEMail);
etCbPassword = (EditText) view.findViewById(R.id.etPassword);
etCbVerifyPassword = (EditText) view.findViewById(R.id.etVerifyPassword);
btnCbContinueToTwo = (Button) view.findViewById(R.id.btnContinueToTwo);
btnCbContinueToTwo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dataPasser.onDataPass(etCbMail.getText().toString());
}
});
return view;
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
try {
dataPasser = (OnDataPass) context;
} catch (Exception ex) {
ex.printStackTrace();
}
}
public interface OnDataPass {
public void onDataPass(String data);
}
}
这是我的 Activity :
public class RegistationActivity extends Activity implements RegFragOne.OnDataPass{
Fragment fragment;
FragmentTransaction fragmentTransaction;
String passedData;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.reg_fragment);
fragment = new RegFragOne();
fragmentTransaction = getFragmentManager().beginTransaction().add(R.id.frgContainer, fragment);
fragmentTransaction.commit();
}
@Override
public void onDataPass(String data) {
passedData = data;
}
}
这是我的日志:
03-05 15:15:32.871 4043-4043/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.shaka.myparselogin, PID: 4043
java.lang.NullPointerException: Attempt to invoke interface method 'void com.example.shaka.myparselogin.RegistrationFragments.RegFragOne$OnDataPass.onDataPass(java.lang.String)' on a null object reference
at com.example.shaka.myparselogin.RegistrationFragments.RegFragOne$1.onClick(RegFragOne.java:39)
at android.view.View.performClick(View.java:4756)
at android.view.View$PerformClick.run(View.java:19749)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
你能帮我解决我的两个问题吗?
最佳答案
将 getFragmentManager()...
替换为 getSupportFragmentManager()
。
这将强制您使用支持库中的组件(Fragment
、AppCompatActivity
)并更改您从 import android.app.Fragment;
导入导入 android.support.v4.app.Fragment;
。
作为一般规则,尝试使用支持库中的组件,而不是框架中的组件,因为支持组件可以更快地修复错误。我没有证据支持这一说法,只有我的日常经验:)。
关于android - 将数据从 fragment 传输到 Activity - 不断返回空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35819451/
如果这不是一个错误,那就是另一个错误。如果不是那样的话,那就是别的东西了。我觉得我的项目已经改变了很多,现在只是试图解决代码签名问题,结果一切都搞砸了。我严格按照说明进行操作,但出现错误,例如当前的“
我不确定是否有一些我不知道的内置变量或规则,或者 make 是否有问题,或者我只是疯了。 对于我的一个项目,我有一个如下的 makefile: CC=g++ CFLAGS=-O3 `libpng-co
我有大约 10 个 div,它们必须不断翻转,每个 div 延迟 3 秒 这个 codrops 链接的最后一个效果是我正在寻找的,但无需单击 div http://tympanus.net/Devel
我如何使用 jQuery 持续运行 PHP 脚本并每秒获取响应,以及将鼠标上的少量数据发送到同一脚本? 我真的必须添加一些随机扩展才能让这么简单的计时器工作吗? 最佳答案 To iterate is
JBoss 4.x EJB 3.0 我见过如下代码(大大简化): @Stateless @TransactionAttribute(TransactionAttributeType.NOT_SUPPO
使用 PHPStorm,我试图忽略每次尝试进行 git 提交时 pop 的 workspace.xml。 我的 .gitignore 看起来像: /.idea/ .idea/workspace.xml
我是一名优秀的程序员,十分优秀!