2015-10-14 55 views
0

我目前正在研究一个简单的android应用程序。Android:如何找到哪个选项卡在tablayout中处于活动状态?

有一个登录页面,并且可以作为驱动程序登录或作为乘客登录,该页面中有不同的选项卡。

我必须使用相同的“电子邮件”和“密码字段一个,和相同的登录按钮。主要变化是字幕

http://i.imgur.com/LhAZABk.png

我需要弄清楚哪些选项卡中的唯一的事情。当按下登录按钮,以便使用正确的登录选项,并且用户发送到正确的地方是活跃

下面是部分代码:

登录布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:orientation="vertical" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    tools:context="com.domain.myname.schoolproject.Login_Screen"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:text="@string/Nom_Application" 
     android:id="@+id/txtTitle" 
     android:textAlignment="center" 
     android:textColor="#010101" 
     android:textSize="45sp" 
     android:textStyle="bold" 
     android:autoText="false" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="@string/Connexion" 
     android:id="@+id/txtSubtitle" 
     android:layout_marginTop="20dp" 
     android:textColor="#010101" 
     android:textSize="18sp" 
     android:textIsSelectable="false" 
     android:textStyle="bold" 
     android:layout_below="@+id/txtTitle" 
     android:layout_centerHorizontal="true" /> 

    <ImageView 
     android:layout_width="120dp" 
     android:layout_height="wrap_content" 
     android:id="@+id/imgLeft" 
     android:src="@drawable/carleft" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_marginTop="70dp" 
     android:contentDescription="@string/Description_icône" /> 

    <ImageView 
     android:layout_width="120dp" 
     android:layout_height="wrap_content" 
     android:id="@+id/imgRight" 
     android:src="@drawable/carright" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_alignBottom="@+id/imgLeft" 
     android:contentDescription="@string/Description_icône" 
     android:layout_alignParentStart="false" /> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="64dp" 
     android:layout_below="@+id/imgLeft" /> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/sliding_tabs" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:tabMode="scrollable" 
     android:layout_alignTop="@+id/toolbar" /> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/pager" 
     android:layout_width="match_parent" 
     android:layout_height="500dp" 
     android:layout_weight="1" 
     android:background="@android:color/white" 
     android:layout_below="@+id/sliding_tabs" 
     android:layout_alignBottom="@+id/edtPassword" /> 

    <EditText 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:inputType="textEmailAddress" 
     android:ems="10" 
     android:id="@+id/edtMail" 
     android:hint="@string/Mail" 
     android:textSize="20dp" 
     android:textIsSelectable="true" 
     android:layout_alignLeft="@+id/edtPassword" 
     android:layout_alignStart="@+id/edtPassword" 
     android:layout_marginTop="20dp" 
     android:layout_above="@+id/edtPassword" /> 

    <EditText 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:inputType="textPassword" 
     android:ems="10" 
     android:id="@+id/edtPassword" 
     android:layout_centerVertical="true" 
     android:layout_centerHorizontal="true" 
     android:elegantTextHeight="false" 
     android:hint="@string/Password" 
     android:textSize="20dp" 
     android:textIsSelectable="false" 
     android:layout_above="@+id/btnConnexion" 
     android:layout_marginBottom="20dp" 
     android:layout_marginTop="10dp" /> 

    <Button 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/Inscription" 
     android:id="@+id/btnInscription" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="25dp" 
     android:background="#0006ff" 
     android:textColor="#ffffff" 
     android:textSize="20dp" 
     android:layout_alignParentEnd="true" 
     android:onClick="onInscription" /> 

    <Button 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/title_activity_login_screen" 
     android:id="@+id/btnConnexion" 
     android:background="#15c100" 
     android:textSize="20dp" 
     android:layout_above="@+id/btnInscription" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="10dp" 
     android:textColor="#ffffff" 
     android:onClick="onConnexion"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:id="@+id/txtError" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="30dp" 
     android:textColor="#d60c00" 
     android:singleLine="false" /> 


</RelativeLayout> 

其中一个片段布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:orientation="vertical" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    tools:context="com.domain.myname.schoolproject.Login_Screen"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="@string/Driver" 
     android:id="@+id/txtSubtitle" 
     android:textColor="#010101" 
     android:textSize="18sp" 
     android:textIsSelectable="false" 
     android:textStyle="bold" 
     android:layout_centerHorizontal="true" /> 

</RelativeLayout> 

的pageAdapter类

public class PageAdapter extends FragmentPagerAdapter { 

    private Context context; 

    public PageAdapter(FragmentManager fm, Context context) { 

     super(fm); 
     this.context=context; 
    } 

    public Fragment getItem(int pos) { 
     switch (pos) { 
      case 0: 
       return new LoginDriver(); 
      case 1: 
       return new LoginPassenger(); 
     } 
     return null; 
    } 

    public int getCount() { 
     return 2; 
    } 

    public CharSequence getPageTitle(int pos) { 
     switch (pos) { 
      case 0: 
       return context.getApplicationContext().getResources().getString(R.string.Driver); 
      case 1: 
       return context.getApplicationContext().getResources().getString(R.string.Passenger); 
     } 
     return null; 
    } 

} 

而且从LoginScreen类,我需要找出当前选项卡在这个事件

public void onConnexion(View view) { 
    android.content.Intent getNextScreen; 

    String mail = txtMail.getText().toString(); 
    String pass = txtPass.getText().toString(); 
    //Identification(this.) 



    getNextScreen = new android.content.Intent(this, Summary_Driver_Screen.class); 

    startActivity(getNextScreen); 
} 

非常感谢您的帮助。如果需要,我可以提供更多细节。

回答

3

getSelectedTabPosition()完全符合您的需求:返回选定选项卡的当前索引。

+0

getSelectedTabPosition不存在。我必须使用something.getSelectedTabPosition? –

+0

这是你的'TabLayout'的一种方法 – ianhanniballake

+0

如何获取tabselected的tabname – 2018-01-19 06:41:19

相关问题