gpt4 book ai didi

java - 如何获得按钮以在 fragment 中运行函数?

转载 作者:太空狗 更新时间:2023-10-29 14:35:47 24 4
gpt4 key购买 nike

我有一个 fragment ,我想要一个按钮来在我按下它时运行函数 Calculate()。我的 fragment 也基于其中一个模板。

我已经尝试过 XML android:onClick 的东西,虽然我假设它在 MainActivity 而不是 Fragment 里面寻找,所以它会抛出错误。我还尝试使用另一篇文章中的 OnClickListener,尽管设置它(如在 OnCreateCiew 中的代码中)给出了错误,尽管它可能只是我对它如何工作的业余知识。

这是我的计算函数(单击按钮时我试图运行的函数),它位于 fragment Activity 中:

    public void Calculate(View v) {
EditText InitialVelocityInput = getView().findViewById(R.id.initialVelocityInput);
EditText VelocityInput = getView().findViewById(R.id.velocityInput);
EditText AccelerationInput = getView().findViewById(R.id.accelerationInput);
EditText TimeInput = getView().findViewById(R.id.timeInput);

Log.d("bing", "bing");
}

如果需要,heres the whole fragment activity

当使用 XML onclick 时,我的应用程序只是在按下按钮时崩溃。使用 OnClickListener 时,我什至无法编译,因为错误。我没有太多的编码专业知识来了解模板 fragment 代码在做什么,但我认为它与我正在设置 OnClickListener 的方式有冲突。

以下是我尝试设置 OnClickListener 的方式:

    Button calculatebutton;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View kinematicsCalculatorView = inflater.inflate(R.layout.fragment_fragment_calculator_kinematics, container, false);
calculatebutton = (Button) kinematicsCalculatorView.findViewById(R.id.calculateButton);
calculatebutton.setOnClickListener(this);
return kinematicsCalculatorView;
// Inflate the layout for this fragment
// return inflater.inflate(R.layout.fragment_fragment_calculator_kinematics, container, false);

}


public void onClick(View v) {
EditText InitialVelocityInput = getView().findViewById(R.id.initialVelocityInput);
EditText VelocityInput = getView().findViewById(R.id.velocityInput);
EditText AccelerationInput = getView().findViewById(R.id.accelerationInput);
EditText TimeInput = getView().findViewById(R.id.timeInput);

Log.d("bing", "bing");
}

但是,calculatebutton.setOnClickListener(this); 中的 this 显示为错误,(setOnClickListener(android.view.View.OnClickListener) in View 不能应用于 (com.example.myApp.FragmentCalculatorKinematics))。 onClick 方法显示为从未使用过。

最佳答案

我找到了一些解决方案...我没有将我的方法放在 FragmentActivity 中,而是将它放在 MainActivity 中并在 fragment 的 XML 文件中设置 android:OnClick="Calculate"。虽然我不确定这样做是否有任何反作用。

关于java - 如何获得按钮以在 fragment 中运行函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56305143/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com