0

I am using fragments. I have an textview in fragment and I want to get value in main activity.

This is my fragment layout

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/GridLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginBottom="30dp"
    android:layout_marginEnd="50dp"
    android:layout_marginStart="55dp"
    android:layout_marginTop="10dp"
    android:columnCount="20"
    android:orientation="horizontal"
    android:rowCount="16"
    tools:context="com.lipi.worldofelements.MainFragment">

    <Space
        android:layout_width="25dp"
        android:layout_height="35dp"
        android:layout_column="2"
        android:layout_row="2"
        android:background="@color/colorButtonNobelGasses" />

    <LinearLayout
        android:layout_width="505dp"
        android:layout_height="165dp"
        android:layout_column="4"
        android:layout_columnSpan="13"
        android:layout_margin="5dp"
        android:layout_row="2"
        android:layout_rowSpan="5"
        android:orientation="horizontal"

        >

        <RelativeLayout
            android:id="@+id/btnElement"
            android:layout_width="165dp"
            android:layout_height="match_parent"
            android:background="@color/colorButtonNonmetals"
            android:clickable="true"


            >

            <TextView
                android:id="@+id/txtElemSym"
                style="@style/AppTheme"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginBottom="25dp"
                android:clickable="true"
                android:gravity="center"
                android:linksClickable="true"
                android:onClick="btnClikcedToast"
                android:text="@string/H"
                android:textColor="#ffff"
                android:textSize="@dimen/buttonXL"

                />

I am loading fragment with this function inside my MainActivity.java:

    //Set the fragment activity

        MainFragment fragment = new MainFragment();
        FragmentTransaction fragmentTransaction =
                getSupportFragmentManager().beginTransaction();
        fragmentTransaction.replace(R.id.fragment_container, fragment);
        fragmentTransaction.commit();

This my fragment class

  public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_main, container, false);
        databaseHelper = new ElementDatabaseAdapter(getActivity());

     txtElemSym = (TextView) rootView.findViewById(R.id.txtElemSym);


     return rootView;

When I click the textview(txtElemSym) main activity runs "btnClikcedToast" function inside my MainActivity .

  public void btnClikcedToast(View view) {

        txtSymbol = (TextView) findViewById(R.id.txtElemSym);
        String ElemSymbol = (String) txtSymbol.getText();

        Bundle b;
        Intent i = new Intent(this, SingleElementData.class);
        b = ActivityOptions.makeScaleUpAnimation(view, 0, 0, view.getWidth(), view.getHeight()).toBundle();
        i.putExtra("symbol", ElemSymbol);
        startActivity(i, b);

    }

I want to get textvalue in this function. I got an error "NullPointerException" after I run this.

How can I do this?

mmking
  • 1,564
  • 4
  • 26
  • 36
N. Java
  • 9
  • 1
  • 1
    implement listener which is send event from your activity to your Fragment and then update your view in Fragment – Nik Jan 15 '16 at 21:01
  • 1
    Possible duplicate of [What is a Null Pointer Exception, and how do I fix it?](http://stackoverflow.com/questions/218384/what-is-a-null-pointer-exception-and-how-do-i-fix-it) – OneCricketeer Jan 15 '16 at 21:22
  • 1
    `R.id.txtElemSym` exists in your Fragment, and does not exist in your Activity and will return `null` in `btnClikcedToast` for `findViewById(R.id.txtElemSym);` – OneCricketeer Jan 15 '16 at 21:23

0 Answers0