arasından seçilen öğenin karşılık gelen verileriyle birlikte gizli alanın değerini ayarladım, onTextChanged
kullanarak, metin değiştiğinde bir api çağırarak MySQL veritabanında depolanan yerin adını öneren bir AutoCompleteTextView
kullanıyorum. Yanıt, place_name, id, location_key, query_type, request_type, vb. Gibi birçok öğeyle (her biri kendi farklı amacı ile) JSON dizisidir. 3 EditText alanını gizledim. setOnItemClickListener
'da, kullanıcı bir yer adı seçtiğinde, bu 3 gizli alanın değerlerinin otomatik olarak konum_anahtarı, sorgu_tipi ve request_type ile ayarlanmasını istiyorum, çünkü bu 3 değeri, api'den istenen sonucu almak için yer adıyla birlikte göndermem gerekir.AutoCompleteTextView
cevap
Bu alanların görünürlüğünü gitti olarak ayarlayın. Eğer yer_adı alanına tıkladığınızda onları görünür kullanımını
txtPromo.setVisibility(View.VISIBLE);
EditText alanının nasıl gizlendiğini sormuyorum, kullanıcı otomatik tamamlama görünümünden bir öğe seçtiğinde, bu gizli alanların seçili öğeye karşılık gelen diğer verilerle nasıl doldurulacağını soruyorum. – carefree
Sorunun konusu bu değil. EditTexts zaten gizlenmişti. –
yapmak istediğinizde
txtview.setVisibility(View.GONE);
ve gizli EditTexts veritabanına göndermek gereken değerleri almalısınız. Bu kolayca aşağıdakileri yaparak elde edilebilir: Alternatif
textMessage.addTextChangedListener(new TextWatcher(){
public void afterTextChanged(Editable s) {
if (textMessage == "//Name of place") {
editText1.setText "//whatever you need";
editText2.setText "//whatever you need";
editText3.setText "//whatever you need";
}
}
});
, ben yer adı için bir değer değiştirici kullanmak ve buna benzer bir şeyle kodlayacağınıza:
@Override public void onClick (Görünüm arg0) {
int range = spnDonate.getSelectedItemPosition();
Donator_Name = tboxName.getText().toString();
switch(range) {
case 0:
editText1.setText = "//whatever you need";
editText2.setText = "//whatever you need";
editText3.setText = "//whatever you need";
break;
case 1:
editText1.setText = "//whatever you need";
editText2.setText = "//whatever you need";
editText3.setText = "//whatever you need";
break;
case 2:
editText1.setText = "//whatever you need";
editText2.setText = "//whatever you need";
editText3.setText = "//whatever you need";
break;
}
}
Umut bu :)
yardımcı Ve sorun nedir? Ne denedin ve neyin yanlış gittiğini? –
Denediğiniz bazı kodları gönderin, böylece geliştirebiliriz. –
Bu bilgiyi Neden Faaliyet Alanınız/Fragmanınızın yalnızca sınıf üyesi değişkenleri yerine gizli alanlarda saklıyorsunuz? – Siebe