android - onClickListener 在 fragment 中不起作用

标签 android android-fragments onclicklistener

我在 fragment 中的 onClicklistener 方面遇到了一些问题。如果我点击按钮什么也不会发生。我既没有从 Logcat 中的 onClicklistener 收到消息,屏幕上也没有出现 Toast,但我在代码中找不到错误。有什么想法吗?

如果有任何帮助,我将不胜感激!多谢!抱歉我的英语不好

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.Button;
import android.widget.Toast;
import android.util.Log;

public class InputFragment extends Fragment
{   
EditText input_text;
String text;
Button translate_button;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{ 
    View InputFragmentView = inflater.inflate(R.layout.input_fgmt, container, false);

    input_text = (EditText) InputFragmentView.findViewById(R.id.input_field);

    translate_button = (Button) InputFragmentView.findViewById(R.id.translate);


    translate_button.setOnClickListener(new OnClickListener()
    {
        @Override
        public void onClick(View view)
        {
            Log.d("Test", "onClickListener ist gestartet");
            Toast.makeText(getActivity().getApplicationContext(), "Test", Toast.LENGTH_LONG).show();
            saveInString();

        }
    });

    return inflater.inflate(R.layout.input_fgmt, container, false);
}

public void saveInString()
{
    if(text.equals(null))
    {
        Toast.makeText(getActivity().getApplicationContext(), "Das Feld ist leer!", Toast.LENGTH_SHORT).show();
    }
    else
    {
        Toast.makeText(getActivity().getApplicationContext(), "Speichern...", Toast.LENGTH_LONG).show();
        text = input_text.getText().toString();
        Toast.makeText(getActivity().getApplicationContext(), "Fertig", Toast.LENGTH_SHORT).show();
    }

}
}    

最佳答案

我认为问题出在您的代码中

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{ 
.....
....
 //problem is here below line
 return inflater.inflate(R.layout.input_fgmt, container, false);
}

返回已经膨胀的 View

 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    { 
        View inputFragmentView = inflater.inflate(R.layout.input_fgmt, container, false);
    .....
    ....

     return inputFragmentView;
    }

关于android - onClickListener 在 fragment 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61088567/

相关文章:

java - 如何为 fragment 设置列表适配器

android - 在 recyclerview 中附加 onClickListener 的最佳位置

android - 刀柄 : injecting application-wide repository singleton

android - 如何在 Fragment Activity 的 ActionBar 中使用自定义 View ?

android - 存储库中的 Flutter 文件夹

android - 在运行时膨胀类 CardView 时出错

Android开发-onclicklistener设置错误图片

android - TextView解析单词可点击

java - 是什么导致通话录音机上的录音文件大小保存为 0 KB?

android - 从用户代理获取 Android 操作系统版本