【发布时间】:2017-07-29 03:55:12
【问题描述】:
我在相对布局中放置了一个坐标布局。协调器布局由两个按钮组成。我设计了常用的onclick功能,但按钮似乎没有被点击。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/relativeLayoutMain"
android:layout_margin="0dp"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="com.example.shaby.payshare.WorkPageOneFragment">
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/add1"
android:layout_gravity="bottom|right"
android:text="ADDBene"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/add2"
android:layout_gravity="bottom|left"
android:text="AddItem"/>
</android.support.design.widget.CoordinatorLayout>
</RelativeLayout>
Java 文件部分为
buttonAddB= (Button)view.findViewById(R.id.add1);
buttonAddB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getContext(), "Hi", Toast.LENGTH_LONG).show();
}
});
问题是 1) 我在做正确的事吗? 2)如果是,那么为什么按钮不起作用? 帮助。
【问题讨论】:
-
请发布一个完整代码示例。这意味着你必须有一个类和一个方法,就像你正在编译的实际代码一样。这不是意味着发布您的整个代码。您只需为此处显示的代码提供周围的类和方法。我假设这段代码来自
onCreate(),但你需要证明我才能确定。您还应该包括super()和setContentView()行。 -
另外,请解释一下“不工作”是什么意思。当你点击按钮时会发生什么?你希望发生什么?
-
其他代码与此无关,这就是我发布的原因。这个java代码在 onCreateView(...) 。为简单起见,我编辑了帖子,相信我这里不需要其他部分。
-
并且不工作是指视图已成功创建但是当我单击按钮时没有生成吐司并且按钮没有显示按钮按下效果。
-
请重新阅读我的第一条评论并按要求编辑您的问题。我很感激您试图将您的代码保持在最低限度。但是,您已经走得太远了,并且遗漏了帮助您所需的代码。例如,您的问题并不是说您正在使用片段。这是一个重要的细节,可以通过
class MyFragment extends Fragment之类的方式轻松显示在您的代码中。
标签: android android-layout button android-coordinatorlayout buttonclick