单击textview Android时的片段切换

时间:2015-02-16 20:37:04

标签: java android xml android-fragments

点击textview时,我正在尝试更改Android屏幕上的显示。此textview位于tabhost内的标签内。我创建了一个片段,当你点击它但有问题时,它会叠加在这个标签的顶部。

在我的主要活动中,我得到了这段代码;

tabHost.getTabContentView().findViewById(R.id.currentMoney).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {  
            switch(v.getId()){
                case R.id.currentMoney:
                    android.app.FragmentTransaction transaction = getFragmentManager().beginTransaction(); 
                    transaction.replace(R.id.tab2, new OverviewFragment());   
                    transaction.commit();
            }
        }
    });

这是我在概述java类

中的代码
public class OverviewFragment extends Fragment {


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.home_tab_transactionhistory, container, false);
    }

}

当我运行这个home_tab_transactionhistory xml文件出现在我以前所拥有的东西之下时会发生什么。我甚至没有完全展示home_tab_transactionhistory xml文件中的内容。

下面我列出了当您单击文本视图时应该将您带到另一个页面的页面的xml代码;

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:custom="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:background="#369742"
android:gravity="start|end"
android:longClickable="true">

<TabHost
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/tabHost"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:clickable="false">

<TabWidget
            android:id="@android:id/tabs"
            android:layout_width="270dp"
            android:layout_height="wrap_content"
            android:background="#5DAD68"
            android:clickable="false"
            android:measureWithLargestChild="true"
            android:orientation="horizontal"
            android:layout_weight="1.04"
            android:longClickable="false"
            android:paddingTop="10dp"
            android:paddingLeft="30dp"
            android:layout_marginLeft="40dp"
            android:layout_marginRight="40dp"></TabWidget>


<FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:clickable="false">

            <LinearLayout
                android:id="@+id/tab2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="vertical"
                android:clickable="false"
                android:background="#FFFFFF"
                android:weightSum="1">

<TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textAppearance="?android:attr/textAppearanceLarge"
                            android:text="@string/currentMoney"
                            android:fontFamily="sans-serif-light"
                            android:onClick="showCurrentAccountMoney"
                            android:id="@+id/currentMoney"
                            android:paddingTop="5dp"
                            android:layout_gravity="center_horizontal"
                            android:textColor="#ff000000"
                            android:textSize="40dp" />

textview的id是currentMoney

有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

您应该在可点击的文本视图中发布xml布局文件。要制作新的片段叠加层,您应该将其添加到FrameLayout,将其子节点放在彼此之上。