2017-06-14 9 views
-2

「仮想メソッドを呼び出そうとしています。」android.text.Editable android.widget.EditText.getText() nullのオブジェクト参照 "ボタンをクリックするたびに。助けてくださいnullオブジェクト参照のandroid.text.Editable android.widget.EditText.getText() '

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()); 
    } 
} 

答えて

1

MainActivity ob = new MainActivity();は現在とてもobを実行している実際、この場合には無用である、ob関連するコードを削除して、最初にデータを

を渡すためにIntentを使用していないあなたに、このクラスの単純なオブジェクトを取得しますMain2Activity

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); 
      } 
     }) 

@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()); 
    } 

How do I pass data between Activities in Android application?

関連する問題