2016-04-05 26 views
0

Kullanıcı girişi olduğunda, EditText numaralı serverString yapılandırma düzenine sahibim.Config Layout Android'de EditText'ten metin nasıl alınır?

<EditText 
    android:id="@+id/serverURL" 
    android:inputType="textUri" 
    android:hint="@string/server_url_hint" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:ems="20" > 

    <requestFocus /> 
</EditText> 

Ve kod değerlerini almak için sınıfa Configuration_Activity.java için. Bu benim kodudur: Diğer sınıfta

serverUrl.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
    } 
}); 

:

private void onCreate(Bundle savedInstanceState) { 
    serverUrl = (EditText)findViewById(R.id.serverURL); 
} 

Ama kullanıcı girişi ve geri kullanıcı düğmesine basın, metin kaydedilmiş olacak zaman değerlerini almak için nasıl bilmiyorum ve benzeri bu kod Değerleri almak için EditText değerlerini almak istiyorum, bu sınıf extends from Services, findViewById kullanamıyorum. Bu benim kodudur: Bu kodu

public class Zing extends Service { 
    final String serverUrlString = "http://www.myserver.com"; 
} 

, değişken serverUrlString esnek değildir. Bu yüzden kullanıcı giriş metninde ne zaman metin girişi yapılacağını o zaman kaydetmek için serverUrlSTring bu metni alın. GÜNCELLEME

:

Gönder Yáñez Parareda @Eduardo için:

ben güncellenmiş kod çalıştı. Benim uygulamada çok farklı.

serverUrl.setOnClickListener (yeni OnClickListener() {

@Override 
public void onClick(View v) { 
    Context c = getApplicationContext(); 
    final String serverStringURL = serverUrl.getText().toString(); 
    preferenceManager.setServerUrlText(serverStringURL); 
    Intent serverStartIntent = new Intent(c, CallRecordService.class); 
    serverStartIntent.putExtra("serverStringURL",serverStringURL.toString()); 
    startActivity(serverStartIntent); 
} 
}); 

Ama class Zing extends Services yılında Yapamam getExtra: İlk , ben sevmeye değişiklik deneyin, bu IBinder, bindService bulamıyorum kodunuzu deneyin Bu sınıf Hizmetleri uzanır Çünkü (değerler)..

teşekkürler.

+0

IBinder API 23 içinde: http://developer.android.com/intl/es /reference/android/os/IBinder.html –

cevap

1

Eğer yöntemini onStart geçersiz, bir Niyet ile hizmetini başlatmak ve ekstra değerler göndermek istiyorsanız, o zaman olsun niyet ve ilgili bilgiler:

// Yoksa IntentService uzanabilir (API 23)

public class Zing extends Service { 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     // It'd be better call another method passing the Intent... 
     Bundle extras = intent.getExtras(); 
     return START_STICKY; 
    } 
} 
+0

Biliyorum. Bu otomatik kaydetmeyi istiyorum. Fakat bu değerleri nasıl elde edersiniz? Zing.java'da Hizmetler'i genişletir. – vanloc

+0

Yanıt güncellendi .... –

+0

Bu işe yaramaz gibi görünüyor. Sorumu güncelledim. – vanloc

1
serverUrl.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

     } 

     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 

     } 

     @Override 
     public void afterTextChanged(Editable s) { 
      String ServerStr = s.toString(); 
     } 
    }); 
İlgili konular