Проблема с библиотекой MPAndroidChart v3.1.0

157
17 января 2020, 10:00

Имеется класс ScoreCardActivity где описана работа с библиотекой MPAndroidChart а именно работа с PieChart (круглая диаграмма) Студия подсвечивает красным такие строчки:

public class ScoreCardActivity extends BaseActivity implements OnChartValueSelectedListener

(getString(R.string.score_card))

(yvalues, AppConstants.EMPTY_STRING)

(xVals, dataSet)

Вопрос, почему так происходит?

public class ScoreCardActivity extends BaseActivity implements OnChartValueSelectedListener {
private Activity mActivity;
private Context mContext;
private Button mBtnShare, mBtnPlayAgain;
private TextView mScoreTextView, mWrongAnsTextView, mSkipTextView, mGreetingTextView;
private int mScore, mWrongAns, mSkip;
private int mQuestionsCount;
private String mCategoryId;
private ArrayList<ResultModel> mResultList;
private ResultAdapter mAdapter = null;
private RecyclerView mRecyclerResult;
private PieChart mPieChart;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    initVar();
    initView();
    initFunctionality();
    initListener();
}
private void initVar() {
    mActivity = ScoreCardActivity.this;
    mContext = mActivity.getApplicationContext();
    Intent intent = getIntent();
    if (intent != null) {
        mScore = intent.getIntExtra(AppConstants.BUNDLE_KEY_SCORE, 0);
        mWrongAns = intent.getIntExtra(AppConstants.BUNDLE_KEY_WRONG_ANS, 0);
        mQuestionsCount = intent.getIntExtra(AppConstants.QUESTIONS_IN_TEST, 0);
        mCategoryId = intent.getStringExtra(AppConstants.BUNDLE_KEY_INDEX);
        mResultList = intent.getParcelableArrayListExtra(AppConstants.BUNDLE_KEY_ITEM);
    }
}
private void initView() {
    setContentView(R.layout.activity_score_card);
    mRecyclerResult = (RecyclerView) findViewById(R.id.rvContentScore);
    mRecyclerResult.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));

    mBtnShare = (Button) findViewById(R.id.btn_share);
    mBtnPlayAgain = (Button) findViewById(R.id.btn_play_again);
    mScoreTextView = (TextView) findViewById(R.id.txt_score);
    mWrongAnsTextView = (TextView) findViewById(R.id.txt_wrong);
    mSkipTextView = (TextView) findViewById(R.id.txt_skip);
    mGreetingTextView = (TextView) findViewById(R.id.greeting_text);
    initToolbar(true);
    setToolbarTitle(getResources().getString(R.string.score_card));
    enableUpButton();
}
public void initFunctionality() {
    mSkip = mQuestionsCount - (mScore + mWrongAns);
    mScoreTextView.setText(String.valueOf(mScore));
    mWrongAnsTextView.setText(String.valueOf(mWrongAns));
    mSkipTextView.setText(String.valueOf(mSkip));
    float actualScore = ((float) mScore / (float) (mScore + mWrongAns + mSkip)) * AppConstants.MULTIPLIER_GRADE;
    switch (Math.round(actualScore)) {
        case 10:
        case 9:
        case 8:
            mGreetingTextView.setText(Html.fromHtml(getResources().getString(R.string.greeting_text3)));
            break;
        case 7:
        case 6:
        case 5:
            mGreetingTextView.setText(Html.fromHtml(getResources().getString(R.string.greeting_text2)));
            break;
        default:
            mGreetingTextView.setText(Html.fromHtml(getResources().getString(R.string.greeting_text1)));
            break;
    }
    showPieChart();
    mAdapter = new ResultAdapter(mContext, mActivity, mResultList);
    mRecyclerResult.setAdapter(mAdapter);
    // show full-screen ads
    // TODO AdsUtilities.getInstance(mContext).showFullScreenAd();
    // show banner ads
   // TODO AdsUtilities.getInstance(mContext).showBannerAd((AdView) findViewById(R.id.adsView));
}
public void initListener() {
    mBtnShare.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent sendIntent = new Intent();
            sendIntent.setAction(Intent.ACTION_SEND);
            sendIntent.putExtra(Intent.EXTRA_TEXT, getString(R.string.sharing_text, mScore) + " https://play.google.com/store/apps/details?id=" + mActivity.getPackageName());
            sendIntent.setType("text/plain");
            startActivity(Intent.createChooser(sendIntent, getResources().getText(R.string.send_to)));
        }
    });
    mBtnPlayAgain.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            ActivityUtilities.getInstance().invokeCommonQuizActivity(mActivity, QuizPromptActivity.class, mCategoryId, true);
        }
    });
}
public void showPieChart() {
    mPieChart = (PieChart) findViewById(R.id.piechart);
    mPieChart.setUsePercentValues(true);
    mPieChart.setDrawHoleEnabled(true);
    mPieChart.setTransparentCircleRadius(AppConstants.TRANSPARENT_CIRCLE_RADIUS);
    mPieChart.setHoleRadius(AppConstants.TRANSPARENT_CIRCLE_RADIUS);
    mPieChart.setDescription(getString(R.string.score_card));
    mPieChart.animateXY(AppConstants.ANIMATION_VALUE, AppConstants.ANIMATION_VALUE);
    ArrayList<Entry> yvalues = new ArrayList<Entry>();
    yvalues.add(new Entry(mScore, AppConstants.BUNDLE_KEY_ZERO_INDEX));
    yvalues.add(new Entry(mWrongAns, AppConstants.BUNDLE_KEY_SECOND_INDEX));
    yvalues.add(new Entry(mSkip, AppConstants.BUNDLE_KEY_FIRST_INDEX));
    PieDataSet dataSet = new PieDataSet(yvalues, AppConstants.EMPTY_STRING);
    dataSet.setColors(ColorTemplate.JOYFUL_COLORS);
    ArrayList<String> xVals = new ArrayList<String>();
    xVals.add(getString(R.string.score));
    xVals.add(getString(R.string.wrong));
    xVals.add(getString(R.string.skipped));
    PieData data = new PieData(xVals, dataSet);
    // In percentage Term
    data.setValueFormatter(new PercentFormatter());
    mPieChart.setData(data);

}
@Override
public void onValueSelected(Entry e, int dataSetIndex, Highlight h) {
    if (e == null)
        return;
}
@Override
public void onNothingSelected() {
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            ActivityUtilities.getInstance().invokeNewActivity(mActivity, MainActivity.class, true);
            return true;
    }
    return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
    ActivityUtilities.getInstance().invokeNewActivity(mActivity, MainActivity.class, true);
}}
READ ALSO
Не получается вызвать onActivityResult во фрагменте

Не получается вызвать onActivityResult во фрагменте

я пытаюсь получить результат сканирования QR-кода во фрагменте, при использовании activity все работает, но после передачи, результат получить...

148
Javafx - открыть новую вкладку в одном окне

Javafx - открыть новую вкладку в одном окне

Не могу понять, как при нажатии на кнопку открыть как бы новый Pane с другими кнопками, не окно а именно Pane в том же окне, как, например, в антивирусе...

156
Перечисления и конструктор

Перечисления и конструктор

В enum Apple определен конструтор и не пойму почему мы пишем сразу перечислениям данные в конструктор именно в ENUM, а не в другом месте при создании...

125
Какая технология лучшая для real-time messaging?

Какая технология лучшая для real-time messaging?

Пытаюсь написать программу клиент сервер которая будет оповещать клиентов о каких то событиях (например о новых сообщениях) между друг другомВ...

133