0

ページに温度コンバーターがあるアプリがあり、これを使用すると、新しいアクティビティに切り替えるボタンがあります。しかし、ボタンをクリックしてエミュレータの 2 番目のアクティビティに変更しても何も起こりませんか?

package com.example.assignment2project;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Toast;
import android.content.Intent;
import android.widget.Button;


public class MainActivity extends Activity {
    private EditText text;

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

        Button next = (Button) findViewById(R.id.Button01);
        next.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent myIntent = new Intent(view.getContext(), SecondScreen.class);
                startActivityForResult(myIntent, 0);
            }

        });
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        text = (EditText) findViewById(R.id.editText1);
    }

    // This method is called at button click because we assigned the name to the
    // "OnClick property" of the button
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.button1:
                RadioButton celsiusButton = (RadioButton) findViewById(R.id.radio0);
                RadioButton fahrenheitButton = (RadioButton) findViewById(R.id.radio1);
                if (text.getText().length() == 0) {
                    Toast.makeText(this, "Please enter a valid number", Toast.LENGTH_LONG).show();
                    return;
                }

                float inputValue = Float.parseFloat(text.getText().toString());
                if (celsiusButton.isChecked()) {
                    text.setText(String.valueOf(convertFahrenheitToCelsius(inputValue)));
                    celsiusButton.setChecked(false);
                    fahrenheitButton.setChecked(true);
                } else {
                    text.setText(String.valueOf(convertCelsiusToFahrenheit(inputValue)));
                     fahrenheitButton.setChecked(false);
                     celsiusButton.setChecked(true);
                }
                break;
        }
    }

    // Converts to celsius
    private float convertFahrenheitToCelsius(float fahrenheit) {
        return ((fahrenheit - 32) * 5 / 9);
    }

    // Converts to fahrenheit
    private float convertCelsiusToFahrenheit(float celsius) {
        return ((celsius * 9) / 5) + 32;
    }
} 
4

3 に答える 3

6

onCreate1 つのメソッドとメソッドがありonCreateます。Android はonCreateメソッドを呼び出すだけで、 onCreate1. 他の onCreate を機能させるには、名前を変更onCreate1して削除する必要があります。onCreate

編集:そして@Override、新しいものに注釈を使用しますonCreate

于 2013-04-22T13:33:54.573 に答える
1

このコードを使用してください

Button next = (Button) findViewById(R.id.BUTTON_ID);
      next.setOnClickListener(new View.OnClickListener() {
          public void onClick(View view) {
              Intent myIntent = new Intent(getApplicationContext, SecondScreen.class);
              startActivity(myIntent);
          }

      });

これをあなたのoncreateに入れてください

このようにマニフェストに 2 番目のアクティビティを追加する必要があります

<activity android:name=".SecondScreen" android:label="@string/app_name">
        </activity>
于 2013-04-22T13:40:52.190 に答える