Soru & Cevap

Android dizi eşitleme olayı ...

23.07.2016 - 10:14

Meraba arkadaşlar, bi konuda yardımınızı istiyorum. 
Android uygulamamda gerekli olan renk=renk kodu eşitliğini nasıl sağlayabilirim?
Renk ismi ve kodları ayrı iki diziye attım, bu dizileri nasıl eşitleyebilirim. Ya da başka bir yolu var mı? 
Örneğin edittexte renk ismini girdiğinde textview de kodunu göstersin. Bunu nasıl yapabilirim? Şimdiden çok teşekkür ederim

16 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-50236-1468221598.jpg
emreboyraz386
25.07.2016 - 09:22

Selam Hilal Özge ;

 Öncelikle if-else şeklinde kullanmamanı öneririm 1000 tane renk var atıyorum tüm if lerin içini gezip sana sonuç döndürecek gereksiz iş yükü koyma programına. Aşağıdaki gibi küçük bir kod yazdım , incelersen işine yarar.

 

public class MainActivity extends AppCompatActivity {
    private EditText editText;
    private TextView textView;
    private Button button;
    private HashMap<String,String> colors;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setUI();
        setColors();
    }
    private void setUI(){
        editText=(EditText) findViewById(R.id.editText);
        textView=(TextView) findViewById(R.id.textText);
        button=(Button) findViewById(R.id.button);
    }
    private void setColors(){
        colors=new HashMap<>();
        /*anahtar-değer şeklinde renkleri ve HexRenkleri HashMap in içine koyalım*/
        colors.put("mavi","#1234");   
        colors.put("beyaz","#ffffff");

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                /*editText'ten aldığımız değeri hashmapteki karşşılığını bulalım*/
                String HexColor=colors.get(editText.getText().toString().toLowerCase());// = değer

                textView.setText(HexColor);
            }
        });
    }
}

 

Hilal Özge Arslan
25.07.2016 - 09:37
Peki textviewdeki renk kodunu string bi değişkene nasıl atabilirim
picture-11052-1576825910.jpg
alikarakoc
24.07.2016 - 06:06

Merhaba Hilal Özge

En basitinden şu şekilde yapabilirsin

    public String renkKoduVer(String renk) {
        if (renk == "black")
            return "#000";
        else if (renk == "blue")
            return "2002ff";
        else {
            return "Böyle bir renk kodu bulunamadı!";
        }
    }