获取编辑文本,从ID到托管活动

时间:2018-02-19 07:00:56

标签: android

我有一个托管多个标签的活动(Fragment),现在我想通过id从tab(Fragment)获取EditText到它的托管活动并在其上设置监听器。

所以请帮我摆脱它。

提前致谢

4 个答案:

答案 0 :(得分:0)

要从片段中按ID查找视图,请添加以下内容:

EditText edittext = getActivity().findViewById(R.id.edittext);

答案 1 :(得分:0)

简单的解决方案是

EditText editText = (EditText)getActivity().findViewById(R.id.viewid);
if( editText != null){
  // set listener here 
}

答案 2 :(得分:0)

在您的活动中

public EditText editText;
if(editText != null)
editText.setOnClickListner(this);

在你的片段中

Activity activity = (Activity)context;
//where context is your fragment's context
activity.edtText = (EditText)findViewById(R.id.viewid);

确保在editText不为null时设置侦听器,否则将获得空指针执行。

答案 3 :(得分:0)

可以有多种解决方案。在我看来,最好的方法是创建一个名为Callback的接口,如下所示

public interface Callback
{
public void onListenerActionPerformed(Some args);
} 

现在,无论你想要什么片段连接听众,都要写一个函数

private Callback callback;
public void setCallback(Callback callback)
{
this.callback=callback;
}

现在在片段中的EditText上注册侦听器,并在相应函数的主体内写入

callback.onListenerActionPerformed(Some parameter)

现在从您的活动开始,在您已实例化片段写入的下方

 fragmentInstanceName.setCallback(new Callback(){
    public void onListenerActionPerformed(Some args){
    //Your implementation
    }  
    });