如何从两个编辑文本中获取所选数字值的总和



我有两个编辑文本,就像第一个编辑文本一样,我们正在输入一些数字,比如12324582...在该值中,我们正在从第一个编辑文本中搜索一个数字...那是第二个编辑文本...我有一个按钮和一个文本视图...

每当我单击该按钮时,结果都会获得文本视图上显示的搜索数字的总和。

例如:

编辑文本1= 12345252(有三个2(

我想搜索 2 个号码

编辑文本2= 2

每当我单击按钮时,textView 都会显示数字 6 (2+2+2(。

试试下面的代码

public class MainActivity extends AppCompatActivity {

EditText edtInput, edtSearch, edtOutPut;
Button btnCalculate;
int lastIndex = 0;
int count = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edtInput = (EditText) findViewById(R.id.edtInput);
edtSearch = (EditText)findViewById(R.id.edtSearch);
edtOutPut = (EditText)findViewById(R.id.edtOutPut);
btnCalculate = (Button)findViewById(R.id.btnCalculate);
btnCalculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
count=0;
lastIndex = 0;
calculate();
}
});
}
private void calculate() {
while(lastIndex != -1){
lastIndex = edtInput.getText().toString().indexOf(edtSearch.getText().toString(),lastIndex);
if(lastIndex != -1){
count ++;
lastIndex += edtSearch.getText().toString().length();
}
}
edtOutPut.setText(""+(count*Integer.parseInt(edtSearch.getText().toString())));
}
}

我建议使用apache.common.lang的StringUtils类。 您需要做的就是在 EditText1 中计算来自 EditText2 的出现次数。 所以使用这种方法:

int count = StringUtils.countMatches(TextEdit1.getText(), TextEdit2.getText());

之后在文本视图中设置文本,该文本是出现次数和来自 EditText2 的数量的乘以

textView.setText(Integer.toString(count * Integer.parseInt(TextEdit2.getText()))

最新更新