caner_exe
Decapat
Daha fazla
- Cinsiyet
- Erkek
- Meslek
- Bilgisayar programcısı
R.id.sonuc_text) kısmı sürekli kırmızı yanıyor, anlamadım .Kütüpane kullanarak yapıyorum fakat kütüpahaneyi görmüyor mu yoksa kodumda mı sorun var anlamıyorum,android studyoda java ile yazıyorum.
Kod:
package com.canerorak.HesapMakinem;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.sonuc_text); /*(R.id.sonuc_text) kısmı sürekli kırmızı yanıyor anlamadım*/
editText.setShowSoftInputOnFocus(false);
}
public void Yazdir(View view) {
switch (view.getId()) {
case R.id.button_temizle:editText.setText("");
break;
case R.id.button_dot:EkranYazdir(".");
break;
case R.id.button_0:EkranYazdir("0");
break;
case R.id.button_1:EkranYazdir("1");
break;
case R.id.button_2:EkranYazdir("2");
break;
case R.id.button_3:EkranYazdir("3");
break;
case R.id.button_4:EkranYazdir("4");
break;
case R.id.button_5:EkranYazdir("5");
break;
case R.id.button_6:EkranYazdir("6");
break;
case R.id.button_7:EkranYazdir("7");
break;
case R.id.button_8:EkranYazdir("8");
break;
case R.id.button_9:EkranYazdir("9");
break;
case R.id.button_divide:EkranYazdir("/");
break;
case R.id.button_plus:EkranYazdir("+");
break;
case R.id.button_minus:EkranYazdir("-");
break;
case R.id.button_sil:Sil();
break;
case R.id.button_equal:Sonuc();
break;
}
}
private void Sil() {
int cursorPos = editText.getSelectionStart();
if (cursorPos > 0) {
String eskiDeger = editText.getText().toString();
String solTaraf = eskiDeger.substring(0, cursorPos - 1);
String sagTaraf = eskiDeger.substring(cursorPos);
String yeniDeger = solTaraf + sagTaraf;
editText.setText(yeniDeger);
editText.setSelection(cursorPos - 1);
}
}
private void Sonuc() {
String yazı = editText.getText().toString();
try {
double sonuc = hesapla(yazı);
editText.setText(String.valueOf(sonuc));
editText.setSelection(editText.getText().length());
} catch (Exception e) {
editText.setText("Hatalı İfade");
}
}
private void EkranYazdir(String deger) {
int cursorPos = editText.getSelectionStart();
String eskiDeger = editText.getText().toString();
String solTaraf = eskiDeger.substring(0, cursorPos);
String sagTaraf = eskiDeger.substring(cursorPos);
String yeniDeger = solTaraf + deger + sagTaraf;
editText.setText(yeniDeger);
editText.setSelection(cursorPos + 1);
}
}