Sanjoy Saha
Sanjoy Saha

Reputation: 133

I am getting nullpointer exception on Textview's settext(charSeq) method?

I have given my code below.I am just want to create a custom dialog in android.whenever i click on button it will show a custom dialog box.i have created a xml "alert.xml".after click on button i will show the content from string.xml

  public class TriangleActivity extends Activity implements View.OnClickListener{
            /** Called when the activity is first created. */
            private Button bt;
            private Dialog dialog;
            @Override
            public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
                bt=(Button) findViewById(R.id.button1);
                bt.setOnClickListener(this);
                //Context mContext = getApplicationContext();
                dialog = new Dialog(TriangleActivity.this);
                dialog.setContentView(R.layout.alert);
                dialog.setTitle("This is my custom dialog box");
                TextView t=(TextView) findViewById(R.id.tv1);

                t.setText(getString(R.string.h));

            }
            public void onClick(View v)
            {

                dialog.show();
            }
        }

main.xml

<?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:orientation="vertical" 
    >

    <Button
        android:id="@+id/button1"
        android:layout_width="60dp"
        android:layout_height="60dp"
        />


</LinearLayout>

alert.xml

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


    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scrollbarAlwaysDrawVerticalTrack="true" >
        <TextView 
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:id="@+id/tv1" >           

        </TextView>
    </LinearLayout>


</ScrollView>

string.xml

<?xml version="1.0" encoding="utf-8"?>I am getting 
<resources>

    <string name="hello">Hello World, TriangleActivity!</string>
    <string name="app_name">Triangle</string>
     <string name="h">The Royal Society of Chemistry’s interactive periodic table which </string>

</resources>

Upvotes: 1

Views: 1311

Answers (5)

Hulk
Hulk

Reputation: 2561

Modify your textView initialization.. because its unable to find the dialog view..so do this--

TextView t=(TextView)dialog.findViewById(R.id.tv1);

Hope this will help you..

Upvotes: 2

Sanjiv Patel
Sanjiv Patel

Reputation: 1

TextView text = (TextView)findviewByid(R.id.text1);

Upvotes: 0

Permita
Permita

Reputation: 5493

use this to find the textview:

TextView t=(TextView)dialog.findViewById(R.id.tv1);

Upvotes: 4

c2dm
c2dm

Reputation: 217

TextView t=(TextView)dialog.findViewById(R.id.tv1);

This is ur solution dude

Upvotes: 2

jeet
jeet

Reputation: 29199

if t.setText(getString(R.string.h)); is throwing exception NullPointerException, it means, either t or getString(R.string.h) is null. t might be null, if main.xml does not have a TextView with id, @+id/tv1.

Upvotes: 1

Related Questions