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?