2016-04-19 22 views
0

私のページをMainActivityからCalcPage.classに切り替えるのにbtn2を使用しようとしています。ボタンを使用してAndroidスタジオのページを切り替えるにはどうすればよいですか?

私は間違っていることを理解しているようです。

私はあなたがあなたのBTN2 OnClickListener内部を設定しているようだここでBTN2、OnClickListener、上書き、およびビューV

の下にエラーライン私のMainActivity.javaある

package edu.khershockolivetcollege.ballistic_calculator; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 
import android.content.Intent; 
import java.text.DecimalFormat; 

public class MainActivity extends Activity 
{ 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.content_main); 

    Button btn1 = (Button)findViewById(R.id.calculate); 
    Button btn2 = (Button)findViewById(R.id.calculate); 
    final EditText et1 = (EditText)findViewById(R.id.muzzleText); 
    final EditText et2 = (EditText)findViewById(R.id.rangeText); 
    final TextView time = (TextView)findViewById(R.id.timeAnswer); 
    final TextView bulletdrop = (TextView)findViewById(R.id.dropAnswer); 
    btn1.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      DecimalFormat f = new DecimalFormat("##.00"); 
      double x = new Integer(et1.getText().toString()); 
      double y = new Integer(et2.getText().toString()); 
      double timetotarget = y/x; 
      double grav = 9.81; 
      double timesquared = timetotarget * timetotarget; 
      double drop = grav * timesquared; 
      time.setText(" " + f.format(timetotarget) + " seconds"); 
      bulletdrop.setText(" " + f.format(drop) + " meters"); 
     } 

     btn2.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Intent i=new Intent(context, CalcPage.class); 
       startActivity(i); 
      } 


    }); 
} 

}

答えて

1

を持っていますあなたのbtn1 OnClickListener。あなたが外でそれを行い、すべての中括弧を閉じるなら、それはうまくいくはずです。このよう

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.content_main); 

    Button btn1 = (Button)findViewById(R.id.calculate); 
    Button btn2 = (Button)findViewById(R.id.calculate); 
    final EditText et1 = (EditText)findViewById(R.id.muzzleText); 
    final EditText et2 = (EditText)findViewById(R.id.rangeText); 
    final TextView time = (TextView)findViewById(R.id.timeAnswer); 
    final TextView bulletdrop = (TextView)findViewById(R.id.dropAnswer); 
    btn1.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      DecimalFormat f = new DecimalFormat("##.00"); 
      double x = new Integer(et1.getText().toString()); 
      double y = new Integer(et2.getText().toString()); 
      double timetotarget = y/x; 
      double grav = 9.81; 
      double timesquared = timetotarget * timetotarget; 
      double drop = grav * timesquared; 
      time.setText(" " + f.format(timetotarget) + " seconds"); 
      bulletdrop.setText(" " + f.format(drop) + " meters"); 
     } 
    }); 

    btn2.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick (View v){ 
      Intent i = new Intent(context, CalcPage.class); 
      startActivity(i); 
     } 
    }); 
} 
関連する問題