EGH*_*HDK 1 java android android-layout android-fragments
我想在单击 textView 时删除片段并显示吐司。我的代码显示了吐司,但没有删除片段。
我的方法:
public void hide(View view) {
My_frag myFrag= new My_frag();
FragmentTransaction transaction = getSupportFragmentManager()
.beginTransaction();
transaction.remove(myFrag);
transaction.commit();
Toast.makeText(getApplicationContext(), "Hello", Toast.LENGTH_LONG)
.show();
}
Run Code Online (Sandbox Code Playgroud)
My_frag 类:
public class My_frag extends android.support.v4.app.Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.my_frag_layout, container, false);
}
}
Run Code Online (Sandbox Code Playgroud)
在某些时候您必须创建和添加Fragment正确的?您正在方法中重新创建片段,hide(...)因此您正在尝试删除从未添加的内容。当然,您可能添加了一个实例,但没有添加您要删除的实例。相反,Fragment fragToRemove在您的Activity. 当您创建片段(即您所做的任何地方transaction.add(fragToRemove = new My_Frag);)时,您将持有一个实例。然后将您更改transaction.remove(myFrag)为transaction.remove(fragToRemove),它应该可以正常工作。
| 归档时间: |
|
| 查看次数: |
7298 次 |
| 最近记录: |