如何动态添加新选项卡onclick并填充预先设计的片段?

时间:2018-02-19 13:21:50

标签: java android xml tabs

我正在创建一个需要标签的应用程序。我创建了一个带有设计的片段。我怎样才能动态添加标签,例如在chrome中添加标签并删除与chrome标签完全相同的标签,并使用我设计的片段填充新添加的标签。

我的活动代码是:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        POSFragment hello = new POSFragment();
        fragmentTransaction.add(R.id.fragment_container, hello, "HELLO");
        fragmentTransaction.commit();
    }
}

碎片代码:

public class POSFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        /** Inflating the layout for this fragment **/
        View v = inflater.inflate(R.layout.posfragment, null);
        return v;
    }
}

主要活动XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.eazypos.app.MainActivity">

    <LinearLayout
        android:id="@+id/fragment_container"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"></LinearLayout>
</RelativeLayout>

片段XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="416dp"
        android:layout_marginTop="230dp"
        android:text="Hello" />
</RelativeLayout>

我是否可以研究任何论坛或链接..或者我可以使用的任何快速代码段。我对此很新..

1 个答案:

答案 0 :(得分:0)

要了解如何制作标签并使用它们,您可以从here了解它。

要根据您的要求动态添加标签,您可以执行以下操作:

我的代码基于上面链接中描述的示例:

在MainActivity中执行以下操作:

    private void setupViewPager(ViewPager viewPager) {
        ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
if(your logic here){
 adapter.addFragment(new OneFragment(), "ONE");}
else if(logic){
 adapter.addFragment(new TwoFragment(), "TWO");
}
       viewPager.setAdapter(adapter);
    }

希望这有帮助。