我有两个editText,例如第一个编辑文本,我们正在输入一些数字,例如12324582...。在该值中,我们正在从第一个editText ...中搜索一个数字,即第二个editText ...,并且我有一个按钮和一个textView ...
每当我单击按钮时,结果将获得显示在文本视图中的搜索编号的总和。
例如:
EditText1 = 12345252(有3个2)
我要搜索2个号码
EditText2 = 2
每当我单击按钮时,textView就会显示数字6(2 + 2 + 2)。
答案 0 :(得分:1)
我建议使用apache.common.lang中的StringUtils类。 您所需要做的就是对EditText1中EditText2中的出现次数进行计数。 因此,请使用此方法:
int count = StringUtils.countMatches(TextEdit1.getText(), TextEdit2.getText());
之后,在textView中设置文本,该文本乘以出现次数和EditText2中的数字
textView.setText(Integer.toString(count * Integer.parseInt(TextEdit2.getText()))
答案 1 :(得分:1)
尝试以下代码
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())));
}
}