簡體   English   中英

如何在Android Studio中使用按鈕切換頁面?

[英]How do I use button to switch pages in android studio?

我正在嘗試使用btn2將頁面從MainActivity切換到CalcPage.class。

不能似乎弄清楚我在做什么錯。

我在btn2,OnClickListener,Override和View 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);
            }


    });
}

}

看來您正在btn1 OnClickListener中設置btn2 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);
        }
    });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM