我是新来的,所以请容忍我。
我试图设置文本视图中的一个片段的onClick方法,但我一直得到这个错误:
不能从静态上下文引用非静态字段"text View"
我尝试过的一切都没有奏效,所以我请求帮助。
我有一个片段,它有一个按钮,我想设置textView的文本:
PullFragment。JAVA
public class PullFragment extends Fragment implements View.OnClickListener {
public PullFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_pull, container, false);
//The button
ImageButton toolbarButtonPull;
toolbarButtonPull = view.findViewById(R.id.toolbarButtonPull);
toolbarButtonPull.setOnClickListener(this);
return view;
}
@Override
public void onClick (View v) {
switch (v.getId()) {
case R.id.toolbarButtonPull:
// Here is the button onClick event
break;
}
}
}
这是另一个包含文本视图的片段:
占位符片段。JAVA
public class PlaceholderFragment extends Fragment {
public TextView textView;
public PlaceholderFragment() {}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.tab_pull, container, false);
// Here is the textView I want to change
textView = rootView.findViewById(R.id.textView);
return rootView;
}
}
我已经尝试了以下在点击事件:
PlaceholderFragment.textView.setText("Test");
//Or trying to call public void Test which just does "textView.setText("Text");"
PlaceholderFragment.Test();
不能从静态上下文引用非静态字段"text View"
PlaceholderFragment placeholderFragment = new PlaceholderFragment();
placeholderFragment.textView.setText("Text");
//Or trying to call public void Test which just does "textView.setText("Text");"
PlaceholderFragment placeholderFragment = new PlaceholderFragment();
placeholderFragment.Test();
尝试在null对象引用上调用虚拟方法android.widget.EditText.setText(java.lang.CharSequence)
也许我错过了一些简单的东西,但我在这方面没有取得任何进展。
第一个问题:
我已经尝试了以下在点击事件:
PlaceholderFragment.textView.setText("Test");
//Or trying to call public void Test which just does "textView.setText("Text");"
PlaceholderFragment.Test();
不能从静态上下文引用非静态字段"text View"
错误非静态字段"text View"不能从静态上下文
中引用,因为如果不实例化对象,您就无法访问变量或类的方法。除非您将其设为静态变量或静态方法。所以,您需要像这样将它们设为静态:
public class PlaceholderFragment extends Fragment {
public static TextView textView;
public PlaceholderFragment() {}
...
public static void test() {
...
}
}
第二个问题:
PlaceholderFragment placeholderFragment = new PlaceholderFragment();
placeholderFragment.textView.setText("Text");
//Or trying to call public void Test which just does "textView.setText("Text");"
PlaceholderFragment placeholderFragment = new PlaceholderFragment();
placeholderFragment.Test();
尝试在null对象引用上调用虚拟方法android.widget.EditText.setText(java.lang.CharSequence)
错误:尝试调用虚拟方法“void”。小装置。编辑文本。空对象引用上的setText(java.lang.CharSequence)
也是可以预期的。这是因为当你打以下电话时:
PlaceholderFragment placeholderFragment = new PlaceholderFragment();
placeholderFragment.textView.setText("Text");
占位符片段
尚未完全实例化。这是因为片段创建不是一个同步过程。所以,当你调用占位符片段时。文本视图。setText(“文本”)
文本视图尚未创建并绑定到片段。您需要通过参数设置文本,或者等待片段完全创建。
谷歌建议使用接口进行片段之间的通信,见留档:https://developer.android.com/training/basics/fragments/communicating
此外,我认为这是一个很好的教程,使用activity的shared ViewModel在片段之间传输数据。
我该怎么做?现在我得到一个:java.lang.NullPointerException:尝试对空对象引用调用虚拟方法'void Android.Widget.TextView.SetText(java.lang.CharSequence)' FragmentRonde1.java 下面是片段的类,其中ListCLickedTitle为:ListClickedFragment logcat
大家早上好。我从标题中知道它是一切都混淆了,所以我会试着解释得更好。我需要为一个医疗项目创建一个计算糖化血红蛋白的应用程序。我有3个编辑文本,我在其中输入医学测试的值。三者中的每一个都因另一个而改变。举个例子:如果我一个有42,另一个是5.99%。诸如此类。我试图让它们动态地变化:在我写作的过程中保持不变。我尝试使用OnCliclListener,但是我必须写完整的值。 我不知道我解释得好不好让你
问题内容: 确实需要一些建议,不知道这里出了什么问题。 上下文:2个片段,每个片段都有一个Textview,主要活动有2个按钮和一个edittext 目的:在主活动的edittext框中键入hello,然后单击片段1的按钮,textview将变为hello。 问题: 在edittext中输入hello并单击按钮1时,会遇到运行时错误。 Logcat: fragment_one.xml activi
如何将一个文本的值追加到另一个文本文件中的特定位置? One.txt Second.txt 需要将second.txt中的one.txt值放置在{}中提到的名称所在的位置。 输出:
问题内容: 我想将某些文本行从一个文本文件复制到另一个文件。在我当前的脚本中,当我搜索字符串时,它会随后复制所有内容,如何只复制文本的特定部分?例如,仅在其中包含“ tests / file / myword”的情况下才复制行? 当前代码: 问题答案: 单线: 推荐搭配: 使用更少的内存:
如何将一个文本文件复制到另一个文本文件中?我试过这个: 这只是在中留下以下值:。 我做错了什么?