我第一次尝试用 java/android 编写代码,我有点沮丧,因为我多年的 c# 知识似乎对我没有太大帮助。
目前我尝试创建一个按钮点击事件,该事件应该绑定(bind)到动态加载的 View 内的按钮。
我的部分 Activity :
private Button myButton;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
String selectedMenu=getArguments().getString(ARG_SECTION_NUMBER);
if (selectedMenu==getString(R.string.title_test)) {
View rootView = inflater.inflate(R.layout.fragment_test, container, false);
myButton=rootView.findViewById("@+id/buttonTest"); // ERROR?
myButton.setOnClickListener(this);
return rootView;
}
return null;
}
public void onClick(View v) {
if (v==myButton) {
// magic stuff
}
}
还有我的按钮定义:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Test starten"
android:id="@+id/buttonTest"
android:layout_gravity="center_horizontal"
android:onClick="TestSoap_OnClick" />
在“错误”行中,我尝试从 View 中获取按钮。我怎样才能访问它?
仅就我的理解而言:作为一个按钮似乎是一个 View :Java 中的“View”与 C# WinForms 中的“Control”大致相同吗?
最佳答案
替换
myButton = rootView.findViewById("@+id/buttonTest");
与 myButton = (Button) rootView.findViewById(R.id.buttonTest);
预期的 int
是在 R.id
中引用的已创建 View 的 id。
关于java - 在动态 View 中绑定(bind)到 Button,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19989901/