0

I'm trying to add a textview to my first class when i press a button which is in another class.I was able to create a textview to the same class which i have my button but i'm failing to create that textview in the class i want it to create.I get a nullpoint exception

Here's my code

public class popup extends Activity {

    private Button create,exit;
    private EditText newname;
    public LinearLayout mLayout;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.popup);

        exit = (Button)findViewById(R.id.exit);
        create = (Button)findViewById(R.id.create);
        newname = (EditText)findViewById(R.id.name1);
        mLayout = (LinearLayout)findViewById(R.id.linearLayout);

        exit.setOnClickListener(onClickListener);
        create.setOnClickListener(onClickListener);

    }

    private OnClickListener onClickListener = new OnClickListener() {
        @Override
        public void onClick(final View v) {
            switch(v.getId()){
                case R.id.exit:
                    finish();
                break;
                case R.id.create:
                    String name = newname.getText().toString();
                    mLayout.addView(createNewTextView(newname.getText().toString()));
                break;

            }
        }
    };

    private TextView createNewTextView(String text) {
        final LayoutParams lparams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        final TextView textView = new TextView(this);
        textView.setLayoutParams(lparams);
        textView.setText(text);
        return textView;
    }

}

Layout (Where i have the button)

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:background="@color/tabTransparent"
    android:orientation="vertical" > 



    <TextView 

        android:id="@+id/head" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textColor="@color/cream"
        android:text="Create a New Member"
        android:textSize="20dp" />


    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:layout_marginTop="15dp"
        android:orientation="horizontal" >



        <TextView
            android:id="@+id/text1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:textColor="@color/cream"
            android:text="Name :" />


        <EditText
                android:id="@+id/name1"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.75"
                android:inputType="text"
                android:enabled = "true"
                android:background="@drawable/edittext"
                android:hint="Enter New Name"
                android:ems="5" />

    </LinearLayout>


        <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:layout_marginTop="15dp"
        android:orientation="horizontal" >


         <Button 
             android:id="@+id/create" 
            android:layout_width="match_parent" 
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Create" /> 

         <Button 
             android:id="@+id/exit" 
            android:layout_width="match_parent" 
            android:layout_height="wrap_content"
             android:layout_weight="1"
            android:text="Exit" /> 

         </LinearLayout>

 </LinearLayout>

Layout2(where my textview should be created)

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/background"
    android:id="@+id/linearLayout"
    android:orientation="vertical" >



    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:layout_marginTop="5dp"
        android:orientation="horizontal" >

        <CheckBox 
            android:id="@+id/checkbox_userG"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />

        <TextView
            android:id="@+id/userG"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.25"
            android:textColor="@color/cream"
            android:text="@string/user_nameG" />

        <EditText
            android:id="@+id/txtG"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.75"
            android:inputType="number"
            android:enabled = "false"
            android:text="0"
            android:background="@drawable/edittext"
            android:hint="Rs."
            android:ems="10" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:orientation="horizontal" >

        <CheckBox 
            android:id="@+id/checkbox_userU"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />

        <TextView
            android:id="@+id/userU"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.25"
            android:textColor="@color/cream"
            android:text="@string/user_nameU" />

        <EditText
            android:id="@+id/txtU"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:inputType="number"
            android:enabled = "false"
            android:hint="Rs."
            android:text="0"
            android:background="@drawable/edittext"
            android:layout_weight="0.75"
            android:ems="10" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:orientation="horizontal" >

        <CheckBox 
            android:id="@+id/checkbox_userP"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />

        <TextView
            android:id="@+id/userP"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.25"
            android:textColor="@color/cream"
            android:text="@string/user_nameP" />

        <EditText
            android:id="@+id/txtP"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:background="@drawable/edittext"
            android:inputType="number"
            android:enabled = "false"
            android:text="0"
            android:layout_weight="0.75"
            android:hint="Rs."
            android:ems="10" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:orientation="horizontal" >

        <CheckBox 
            android:id="@+id/checkbox_userR"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />

        <TextView
            android:id="@+id/userR"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:textColor="@color/cream"
            android:text="@string/user_nameR" />


        <EditText
                android:id="@+id/txtR"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.75"
                android:inputType="number"
                android:enabled = "false"
                android:text="0"
                android:background="@drawable/edittext"
                android:hint="Rs."
                android:ems="5" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:orientation="horizontal" >

        <CheckBox 
            android:id="@+id/checkbox_userA"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />

        <TextView
            android:id="@+id/userA"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:textColor="@color/cream"
            android:text="@string/user_nameA" />


        <EditText
                android:id="@+id/txtA"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.75"
                android:enabled = "false"
                android:text="0"
                android:inputType="number"
                android:background="@drawable/edittext"
                android:hint="Rs."
                android:ems="5" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:orientation="horizontal" >

        <CheckBox 
            android:id="@+id/checkbox_userCh"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />

        <TextView
            android:id="@+id/userCh"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:textColor="@color/cream"
            android:text="@string/user_nameCh" />


        <EditText
                android:id="@+id/txtCh"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.75"
                android:inputType="number"
                android:enabled = "false"
                android:text="0"
                android:background="@drawable/edittext"
                android:hint="Rs."
                android:ems="5" />

    </LinearLayout>

            <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

        <Button
                android:id="@+id/btnCal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_marginTop="20dp"
                android:layout_marginBottom="20dp"
                android:ems="5"
                android:text="@string/calculate"/>
               <!--  android:background="@drawable/mybutton" -->


        <Button
                android:id="@+id/btnReset"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_marginTop="20dp"
                android:layout_marginBottom="20dp"
                android:ems="5"
                android:text="@string/Reset"/>
               <!--   android:background="@drawable/mybutton"-->



        </LinearLayout>

            <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="5dp"
            android:orientation="horizontal" >

        <TextView
            android:id="@+id/totamount"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:textColor="@color/cream"
            android:text="@string/user_total" />

        <TextView
            android:id="@+id/totamountLabel"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:textSize="25dp"
            android:textColor="@color/yellow"
            android:hint="Rs.0" />

        </LinearLayout>

            <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="5dp"
            android:orientation="horizontal" >

        <TextView
            android:id="@+id/amountper"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:textColor="@color/cream"
            android:text="@string/user_amount" />

        <TextView
            android:id="@+id/amountperLabel"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:textSize="25dp"
            android:textColor="@color/yellow"
            android:hint="Rs.0" />



        </LinearLayout>

            <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:orientation="horizontal" >

        <TextView
            android:id="@+id/nameG"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:paddingLeft="5dp"
            android:textColor="@color/cream"
            android:text="@string/user_amountG" />

        <TextView
            android:id="@+id/costperG"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:textSize="20dp"
            android:textColor="@color/cream"
            android:hint="Rs.0" />

        </LinearLayout>

            <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

        <TextView
            android:id="@+id/nameU"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:paddingLeft="5dp"
            android:textColor="@color/cream"
            android:text="@string/user_amountU" />

        <TextView
            android:id="@+id/costperU"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:textSize="20dp"
            android:textColor="@color/cream"
            android:hint="Rs.0" />



        </LinearLayout>

            <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

        <TextView
            android:id="@+id/nameP"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:paddingLeft="5dp"
            android:textColor="@color/cream"
            android:text="@string/user_amountP" />

        <TextView
            android:id="@+id/costperP"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:textSize="20dp"
            android:textColor="@color/cream"
            android:hint="Rs.0" />



        </LinearLayout>

            <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

        <TextView
            android:id="@+id/nameR"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:paddingLeft="5dp"
            android:textColor="@color/cream"
            android:text="@string/user_amountR" />

        <TextView
            android:id="@+id/costperR"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:textSize="20dp"
            android:textColor="@color/cream"
            android:hint="Rs.0" />



        </LinearLayout>

            <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

        <TextView
            android:id="@+id/nameA"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:paddingLeft="5dp"
            android:textColor="@color/cream"
            android:text="@string/user_amountA" />

        <TextView
            android:id="@+id/costperA"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:textSize="20dp"
            android:textColor="@color/cream"
            android:hint="Rs.0" />



        </LinearLayout>

            <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

        <TextView
            android:id="@+id/nameCh"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:textColor="@color/cream"
            android:paddingLeft="5dp"
            android:text="@string/user_amountCh" />

        <TextView
            android:id="@+id/costperCh"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="0.25"
            android:textSize="20dp"
            android:textColor="@color/cream"
            android:hint="Rs.0" />

         </LinearLayout>

</LinearLayout>
</ScrollView>
jww
  • 97,681
  • 90
  • 411
  • 885
CraZyDroiD
  • 6,622
  • 30
  • 95
  • 182

1 Answers1

0

Create a Listener Interface like this

public interface AddTextViewListener {
    void onPopUpDestroyed(String text);
}

now in your popup Activity

public class popup extends Activity {

    private Button create,exit;
    private EditText newname;
    public LinearLayout mLayout;
    AddTextViewListener listener;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.popup);

        exit = (Button)findViewById(R.id.exit);
        create = (Button)findViewById(R.id.create);
        newname = (EditText)findViewById(R.id.name1);
        mLayout = (LinearLayout)findViewById(R.id.linearLayout);

        exit.setOnClickListener(onClickListener);
        create.setOnClickListener(onClickListener);
        listener = (AddTextViewListener)popup.this;

    }

    private OnClickListener onClickListener = new OnClickListener() {
        @Override
        public void onClick(final View v) {
            switch(v.getId()){
                case R.id.exit:
                    finish();
                break;
                case R.id.create:
                    String name = newname.getText().toString();
                     listener.onPopUpDestroyed(name);
                //    mLayout.addView(createNewTextView(newname.getText().toString()));
                break;

            }
        }
    };  
}

and in your MainActivity where you want to add this textView do as below

1 ) put this method in that activity

 private TextView createNewTextView(String text) {
            final LayoutParams lparams = new LayoutParams(LayoutParams.WRAP_CONTENT,                           LayoutParams.WRAP_CONTENT);
            final TextView textView = new TextView(this);
            textView.setLayoutParams(lparams);
            textView.setText(text);
            return textView;
        } 

2) implement AddTextViewListener in that activity as

public class MainActivity extends Activity implemets AddTextViewListener {

3) you will get asked to override interface method,override it

4) go to this overridden method in your MainActivity

public void onPopUpDestroyed(String text)
    {
         // call createNewTextView(text);
         // add this textview to your desired layout
    }

NOTE: since i am not having full code of yours , this below code may have minor spelling mistakes, Apology for that

Bhavik Mehta
  • 573
  • 8
  • 21