有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

需要java Android类接口

这是我的代码,我一辈子都想不出为什么它总是得到一个类,接口枚举,我一辈子都想不出为什么。起初我以为我放错地方了,但我找不到可能在哪里。这是直接从一本大学教科书中获取的,因为我们需要使用代码并重新创建并运行它,但对我来说,它看起来像是针对早期版本的安卓 studio的旧代码。我相信我在这里看得太明显了,但是任何帮助都将不胜感激,提前谢谢

package com.example.chigh.tipcalculator;

import 安卓.os.Bundle;
import 安卓.support.v7.app.AppCompatActivity;
import 安卓.text.Editable;
import 安卓.text.TextWatcher;
import 安卓.widget.EditText;
import 安卓.widget.SeekBar;
import 安卓.widget.Seekbar.OnSeekBarChangeListener;
import 安卓.widget.TextView;

import java.text.NumberFormat;

public class MainActivity extends Activity {
private static final NumberFormat currencyFormat =
        NumberFormat.getCurrencyInstance();
private static final NumberFormat percentFormat =
        NumberFormat.getPercentInstance();

private double billAmount = 0.0;
private double percent = 0.15;
private TextView amountTextView;
private TextView percentTextView;
private TextView tipTextView;
private TextView totalTextView;

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

amountTextView = (TextView) findViewById(R.id.amountTextView);
percentTextView = (TextView) findViewById(R.id.percentTextView);
tipTextView = (TextView) findViewById(R.id.tipTextView);
totalTextView = (TextView) findViewById(R.id.totalTextView);
tipTextView.setText(currencyFormat.format(0));
totalTextView.setText(currencyFormat.format(0));
EditText amountEditText =
(EditText) findViewById(R.id.amountEditText);
amountEditText.addTextChangedListener(amountEditTextWatcher);

SeekBar percentSeekBar =
(SeekBar) findViewById(R.id.percentSeekBar);
percentSeekBar.setOnSeekBarChangeListener(percentSeekBarListener);
}

private void calculate() {
percentTextView.setText(percentFormat.format(percent));

double tip = billAmount * percent;
double total = billAmount + tip;

tipTextView.setText(currencyFormat.format(tip));
totalTextView.setText(currencyFormat.format(total));

final SeekBar.OnSeekBarChangeListener seekBarChangeListener =
new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean 
fromUser) {
percent = progress / 100.0;
calculate();

}

@Override
public void onStartTrackingTouch(SeekBar seekBar) {

}

@Override
public void onStopTrackingTouch(SeekBar seekBar) {

}


};
final TextWatcher amountEditTextWatcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int 
after) {

}

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) 
{

try {
billAmount = Double.parseDouble(s.toString()) / 100.0;
amountTextView.setText(currencyFormat.format(billAmount));
} 

catch (NumberFormatException e) {
amountTextView.setText("");
billAmount = 0.0;

}

calculate();
}

@Override
public void afterTextChanged(Editable s) {

}
};

}

}
}

共 (2) 个答案

  1. # 1 楼答案

    1. 删除活动底部的一个}
    2. 添加import android.app.Activity;
    3. 将此答案标记为已解决
  2. # 2 楼答案

    对代码进行一些更改,如AppComActivity的activity instand,并删除一个卷发括号

    public class MainActivity extends AppCompatActivity {
    private static final NumberFormat currencyFormat =
            NumberFormat.getCurrencyInstance();
    private static final NumberFormat percentFormat =
            NumberFormat.getPercentInstance();
    
    private double billAmount = 0.0;
    private double percent = 0.15;
    private TextView amountTextView;
    private TextView percentTextView;
    private TextView tipTextView;
    private TextView totalTextView;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        amountTextView = (TextView) findViewById(R.id.amountTextView);
        percentTextView = (TextView) findViewById(R.id.percentTextView);
        tipTextView = (TextView) findViewById(R.id.tipTextView);
        totalTextView = (TextView) findViewById(R.id.totalTextView);
        tipTextView.setText(currencyFormat.format(0));
        totalTextView.setText(currencyFormat.format(0));
        EditText amountEditText =
                (EditText) findViewById(R.id.amountEditText);
        amountEditText.addTextChangedListener(amountEditTextWatcher);
    
        SeekBar percentSeekBar =
                (SeekBar) findViewById(R.id.percentSeekBar);
        percentSeekBar.setOnSeekBarChangeListener(percentSeekBarListener);
    }
    
    private void calculate() {
        percentTextView.setText(percentFormat.format(percent));
    
        double tip = billAmount * percent;
        double total = billAmount + tip;
    
        tipTextView.setText(currencyFormat.format(tip));
        totalTextView.setText(currencyFormat.format(total));
    
        final SeekBar.OnSeekBarChangeListener seekBarChangeListener =
                new SeekBar.OnSeekBarChangeListener() {
                    @Override
                    public void onProgressChanged(SeekBar seekBar, int progress, boolean
                            fromUser) {
                        percent = progress / 100.0;
                        calculate();
    
                    }
    
                    @Override
                    public void onStartTrackingTouch(SeekBar seekBar) {
    
                    }
    
                    @Override
                    public void onStopTrackingTouch(SeekBar seekBar) {
    
                    }
    
    
                };
        final TextWatcher amountEditTextWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int
                    after) {
    
            }
    
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count)
            {
    
                try {
                    billAmount = Double.parseDouble(s.toString()) / 100.0;
                    amountTextView.setText(currencyFormat.format(billAmount));
                }
    
                catch (NumberFormatException e) {
                    amountTextView.setText("");
                    billAmount = 0.0;
    
                }
    
                calculate();
            }
    
            @Override
            public void afterTextChanged(Editable s) {
    
            }
        };
    
    }
    
    }
    

    我希望您将您的活动定义到android清单文件中