Hi.

I'm new in Android Studio programming is and I am learning on my own.


I am making a tabLayout example, as follows:


activity_main.xml


<RelativeLayout

    android:id="@+id/main_layout"
    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=".MainActivity">
    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Sin Venta"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

      <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/button2"
        android:ems="20"
        android:inputType="textPersonName"
        android:singleLine="true"
        android:text="$0.00" />

    <android.support.design.widget.TabLayout
        android:id="@+id/tab_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        android:elevation="10dp"
        android:minHeight="?attr/actionBarSize"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        android:layout_below="@+id/textView2"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_below="@id/tab_layout"/>
</RelativeLayout>


The xml of the first tab is as follows:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android";
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1">
        <Button
            android:text="1"
            android:gravity="center_horizontal"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:id="@+id/Boton_1"
            android:layout_weight="1"
            android:textSize="@android:dimen/app_icon_size" />
        <Button
            android:text="2"
            android:gravity="center_horizontal"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:id="@+id/Boton_2"
            android:textSize="@android:dimen/app_icon_size" />
        <Button
            android:text="3"
            android:gravity="center_horizontal"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:id="@+id/Boton_3"
            android:textSize="@android:dimen/app_icon_size" />
    </LinearLayout>

...

    etc.
</LinearLayout>

The code MainActivity is as follows:


package com.truiton.designsupporttabs;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);
        tabLayout.addTab(tabLayout.newTab().setText("Teclado"));
        tabLayout.addTab(tabLayout.newTab().setText("Surtido"));
        tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);

        final ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
        final PagerAdapter adapter = new PagerAdapter
                (getSupportFragmentManager(), tabLayout.getTabCount());
        viewPager.setAdapter(adapter);
        viewPager.addOnPageChangeListener(new 
TabLayout.TabLayoutOnPageChangeListener(tabLayout));
        tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener()
        {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                viewPager.setCurrentItem(tab.getPosition());
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {

            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {

            }
        });

        // -------------------------------


    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}



*My intention is to modify the text property of the TextView object that is 
in MainActivity from the first Tab, f**or which the code in the first tab 
is as follows:*


package com.truiton.designsupporttabs;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;
public class TabFragment1 extends Fragment
{
    View view;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
Bundle savedInstanceState)
    {
        view = inflater.inflate(R.layout.activity_main, null, true);
        colocarTexto();
        return view;
    }

    public void colocarTexto()
    {
        try
        {
            TextView  CajaDolares = (TextView) 
view.findViewById(R.id.textView2);
            CajaDolares.setText("Hello");
        }
        catch (Exception ex){
            Mensaje.mostrar("Error!", ex.getMessage(), "¿Y ahora?", 
this.getActivity(), true);
            Toast.makeText(this.getActivity(), ex.getMessage(), 
Toast.LENGTH_SHORT).show();
        }
    }
}

But when trying to change the TextView text, something nonsense appears as 
shown in the following image:


<https://lh3.googleusercontent.com/-i9B5QLdQlrA/WD2N_SkdtzI/AAAAAAAAAMk/7xFkCpyqbZU8hQdn-ouITbyQxNOoKIszwCLcB/s1600/Error%2B1.jpg>



Without trying to modify TextView text:



public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle 
savedInstanceState)
{
    view = inflater.inflate(R.layout.tab_fragment_1, container, false);

    //view = inflater.inflate(R.layout.activity_main, null, true);
    //colocarTexto();

return view;
}




The app would look like this:


<https://lh3.googleusercontent.com/-Aw3ff2VaS60/WD2QRxnUY3I/AAAAAAAAAM0/m5y526VVgg8wAtHMhSe3E4RVVSCEwHY1wCLcB/s1600/Error%2B2.jpg>


Any idea or suggestion or welcome.


Thanks.


Fabián


-- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
To post to this group, send email to android-developers@googlegroups.com.
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/android-developers/2afa40cd-aaa4-48ef-a902-1e3afe6c6b77%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to