Умножьте значение из edittext на значение в textview, полученное из firebase - PullRequest
0 голосов
/ 25 сентября 2019

Здравствуйте. Я пытаюсь создать систему подсчета очков в Android Studio

Моя система работает следующим образом, часть организатора будет вводить критерии и процент от критериев и будет сохранена в базе данных Firebase.

В части оценки я извлек критерии и процент из базы данных, а затем поставил рядом с ним текст редактирования.

Я хотел бы умножить процент критериев на значение, введенное вedittext.

Это код моего адаптера

@NonNull
@Override
public View getView(final int position, final View convertView, ViewGroup parent) {

    View listViewItem = convertView;
    ScoringHolder myHolder = null;

    if(listViewItem == null) {

        LayoutInflater inflater = context.getLayoutInflater();
        listViewItem = inflater.inflate(R.layout.list_scoring_criteria, parent, false);
        myHolder = new ScoringHolder();

        myHolder.textViewCriteria = (TextView) listViewItem.findViewById(R.id.textViewCriteria);
        myHolder.textViewPercentage = (TextView) listViewItem.findViewById(R.id.textViewPercentage);
        myHolder.editTextScore = (EditText) listViewItem.findViewById(R.id.editTextScore);
        myHolder.btnSubmit = (ImageButton) listViewItem.findViewById(R.id.btnSubmit);
        myHolder.textView6 = (TextView) listViewItem.findViewById(R.id.textView6);
        listViewItem.setTag(myHolder);
    }
    else
    {
        myHolder = (ScoringHolder) listViewItem.getTag();
    }

    Criteria criteria = ScoringPageList.get(position);

    myHolder.textViewCriteria.setText(criteria.getCriteriaName());
    myHolder.textViewPercentage.setText(criteria.getCriteriaPercent());

    myHolder.btnSubmit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Criteria criteria = ScoringPageList.get(position);


        }
    });

    return listViewItem;
}

static class ScoringHolder{
    TextView textView6;
    TextView textViewCriteria;
    TextView textViewPercentage;
    EditText editTextScore;
    ImageButton btnSubmit;
}

Это код моей деятельности

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_scoring_page);

    db_Criteria = FirebaseDatabase.getInstance().getReference("Criteria");
    db_Contestants = FirebaseDatabase.getInstance().getReference("Contestants");

    listViewCriteria = (ListView) findViewById(R.id.listViewCriteria);
    scoringPageList = new ArrayList<>();

    btnSubmit = (Button) findViewById(R.id.btnSubmit);

    textView2 = (TextView) findViewById(R.id.textView2);
    String ConNameHolder = getIntent().getStringExtra("ConName");
    textView2.setText(ConNameHolder);

}

@Override
protected void onStart() {
    super.onStart();

    db_Criteria.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for(DataSnapshot criteriaSnapshot : dataSnapshot.getChildren()){

                Criteria criteria = criteriaSnapshot.getValue(Criteria.class);
                scoringPageList.add(criteria);

            }

            ScoringPageList adapter = new ScoringPageList(ScoringPage.this, scoringPageList);
            listViewCriteria.setAdapter(adapter);

        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });
}

Это код моего списка

public class Criteria {

String criteriaId, criteriaName, criteriaPercent;



public Criteria(){

}

public Criteria(String criteriaId, String criteriaName, String criteriaPercent) {
    this.criteriaId = criteriaId;
    this.criteriaName = criteriaName;
    this.criteriaPercent = criteriaPercent;
}

public void setCriteriaId(String criteriaId) {
    this.criteriaId = criteriaId;
}

public void setCriteriaName(String criteriaName) {

    this.criteriaName = criteriaName;
}

public void setCriteriaPercent(String criteriaPercent) {
    this.criteriaPercent = criteriaPercent;
}

public String getCriteriaId() {
    return criteriaId;
}

public String getCriteriaName() {
    return criteriaName;
}

public String getCriteriaPercent() {
    return criteriaPercent;
}

}

1 Ответ

0 голосов
/ 25 сентября 2019

добавить это к вашему тексту редактирования

editText.addTextChangedListener(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) {
     int dataFromEditText = Integer.parseInt(s.toString);
     int dataFromTextView = Integer.parseInt(textView.getText().toString());
     int finalData = dataFromEditText * dataFromTextView;
//Do as you wish with your final data
            }

            @Override
            public void afterTextChanged(Editable s) {

            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...