【发布时间】:2020-11-12 03:04:37
【问题描述】:
所以我有一个名为 fragment_home 的 xml 片段。在cardview中有2个按钮和一个textview。按钮之一(尝试)更改文本视图中的值。在这两个按钮上我都有一个 onClick。片段的 tools:context 设置为 .MainActivity。我还有一个与 xml 片段相关联的扩展片段类。
每当我尝试调用任何东西来更改 TextView 属性(例如 setText、setTextSize)时,都会出现异常:java.lang.IllegalStateException: Could not execute method for android:onClick
如果我没有 setText,setTextSize,onClick 有效。
主活动:
public class MainActivity extends AppCompatActivity {
private int textViewData;
private TextView inputDataTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
inputDataTextView= (TextView)findViewById(R.id.focus_counter);
}
//onClick For One of the buttons
public void increaseNumber(View view) {
textViewData++;
// Crashes When I have This. Doesn't crash when I comment this.
inputDataTextView.setTextSize(60);
// Crashes When I have this. Doesn't crash when I comment this.
inputDataTextView.setText(String.valueOf(textViewData);
Toast.makeText(this, "TextView Value = " + textViewData, Toast.LENGTH_SHORT).show();
}
我觉得这与我的片段和活动有关。但我只是不知道问题是什么。一旦我在 onClick 中调用与 textview 相关的任何内容,应用程序就会崩溃。 xml中的textview最初设置为0,当我增加数字时,它会增加,这样就可以了。 感谢您的帮助!
HomeFragment:
public class HomeFragment extends Fragment {
private int textViewData;
private static final String TAG = "MyActivity";
private TextView inputDataTextView;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_home, container, false);
inputDataTextView = view.findViewById(R.id.focus_counter);
return view;
}
public void increaseNumber(View view) {
textViewData++;
//inputDataTextView.setText("t");
inputDataTextView.setText(String.valueOf(inputViewData));
//Toast.makeText(getContext(), "Focus Vale = " + inputViewData, Toast.LENGTH_SHORT).show();
}
}
【问题讨论】:
-
向我们展示您的片段布局。
-
@Jason 我更新了帖子
-
您的布局中没有
android:onClick="increaseNumber"!!! -
对不起,那是我的错,为了保护我的项目,我必须在发布任何内容之前更改一些内容。我已使用正确的方法名称更新了 XML 文件。我在没有 set.Text 的情况下测试了 onclick,它工作正常,当我把它放进去时它崩溃了。
-
请在错误时发布您的完整日志
标签: android android-studio android-fragments android-activity onclick