Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Android配置布局中从EditText获取文本?_Java_Android_Configuration - Fatal编程技术网

Java 如何在Android配置布局中从EditText获取文本?

Java 如何在Android配置布局中从EditText获取文本?,java,android,configuration,Java,Android,Configuration,当用户输入时,我的配置布局包含EditText是serverString <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:

当用户输入时,我的配置布局包含
EditText
serverString

<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>
但我不知道当用户输入并按下按钮返回时如何获取值,文本将被保存,代码如下:

serverUrl.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
    }
});
在另一个类中,我想获取要处理的
EditText
的值,这个类
从服务扩展而来,我不能使用
findViewById
获取值。这是我的代码:

private void onCreate(Bundle savedInstanceState) {
    serverUrl = (EditText)findViewById(R.id.serverURL);
}
public class Zing extends Service {
    final String serverUrlString = "http://www.myserver.com";
}
在此代码中,变量
serverUrlString
不灵活。所以我想当用户在配置中输入文本时,这将保存,然后
serverUrlSTring
获取此文本以继续处理

更新:

发送至@Eduardo Yáñez Parareda:

我试过你的更新代码。它在我的应用程序中有很多不同之处。 首先,我尝试您的代码,但它找不到
IBinder
bindService
,我尝试更改为:

setOnClickListener(新的OnClickListener(){

但是在
类中,Zing扩展了服务
我不能获得额外的(值),因为这个类扩展了服务


谢谢。

如果您想以意图启动服务并发送额外值,请覆盖启动时的方法,然后获取意图和相关信息:

//也可以从IntentService(API 23)进行扩展


如果要以意图启动服务并发送额外值,请重写onStart方法,然后获取意图和相关信息:

//也可以从IntentService(API 23)进行扩展


我知道。我想要这个自动保存。但是如何在类
Zing中获取这个值。java
扩展服务。我以前的答案是基于API 23的,但我已经重新更新了它
START\u STICKY
的意思是什么?在
onStartCommand
中,我创建了线程,这个
返回super.onStartCommand(intent,flags,startId)
请阅读关于Android服务的参考文档:我知道。我想要这个自动保存。但是如何在类
Zing.java
扩展服务中获取这个值。我以前的答案是基于API 23的,但我已经重新更新了它
START\u STICKY
的意思是什么?在
onStartCommand
中,我创建了线程,这个
返回super.onStartCommand(intent、flags、startId);
请阅读有关Android服务的参考文档:IBinder在API 23中:IBinder在API 23中:
@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);
}
});
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;
    }
}
 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();
        }
    });