Uda*_*day 10 java xml android android-fragments
这是我对Fragments的第一次尝试,我无法处理android:onClick
我的片段XML中有一个按钮就像这样
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/save_keywords_button"
android:id="@+id/save_keywords"
android:layout_marginTop="340dp"
android:background="#FF2E7D32"
android:textColor="#FFFFFF"
android:typeface="normal"
android:onClick="myLogic" />
Run Code Online (Sandbox Code Playgroud)
我搜索了很多结果,无法获得处理onClick事件的确切解决方案.
我的问题是,如何获取我的按钮的ID并编写myLogic方法.FindViewById()不在片段中工作,我应该在哪里编写方法?片段或我的活动?
par*_*ohy 18
更好的方法是实现OnClickListener片段类并覆盖onCreateView片段,将侦听器分配给按钮.
通过onClick在XML布局中放置属性,您在加载时的活动将查找活动中的元素,而不是片段中的元素.这将抛出异常.
我建议阅读一些片段活动层次结构,以了解何时可以访问片段中的元素.
public class StartFragment extends Fragment implements OnClickListener{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_start, container, false);
Button b = (Button) v.findViewById(R.id.save_keywords);
b.setOnClickListener(this);
return v;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.save_keywords:
...
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
参考来自:这里
| 归档时间: |
|
| 查看次数: |
39706 次 |
| 最近记录: |