-2

i get "Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference" whenever i click on the button. help please

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

        edt = (EditText) findViewById(R.id.edit);
        b1 = (Button) findViewById(R.id.button);

        b1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = new Intent(MainActivity.this, Main2Activity.class);
                startActivity(i);
            }
        })
    }

    String tt(){
        return (edt.getText()+"");
    }


public class Main2Activity extends AppCompatActivity {
    MainActivity ob = new MainActivity();
    private WebView mywebview;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        mywebview=(WebView)findViewById(R.id.abc);
        WebSettings webSettings=mywebview.getSettings();
        webSettings.setJavaScriptEnabled(true);
        mywebview.loadUrl(ob.tt());
        mywebview.setWebViewClient(new WebViewClient());
    }
}
Phantômaxx
  • 36,442
  • 21
  • 78
  • 108

1 Answers1

1

MainActivity ob = new MainActivity(); will get you a simple object of this class not the actual which is currently running so ob is useless in this case ,delete ob related code and use Intent to pass data

In first MainActivity

 b1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = new Intent(MainActivity.this, Main2Activity.class);
                i.putExtra("data",edt.getText().toString());
                //              ^^^^ pass data
                startActivity(i);
            }
        })

In Main2Activity

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        mywebview=(WebView)findViewById(R.id.abc);
        WebSettings webSettings=mywebview.getSettings();
        webSettings.setJavaScriptEnabled(true);
        mywebview.loadUrl(getIntent().getStringExtra("data"));
                                    // ^^^^^
        mywebview.setWebViewClient(new WebViewClient());
    }

Also read How do I pass data between Activities in Android application?

CL.
  • 158,085
  • 15
  • 181
  • 214
Pavneet_Singh
  • 34,557
  • 5
  • 43
  • 59