Java 安卓,按钮don';他根本不工作

Java 安卓,按钮don';他根本不工作,java,android,xml,Java,Android,Xml,这段代码代表了我真正的问题 我正在做一个更复杂的U.I.项目 我有一个自定义视图,需要在左侧有一个按钮。为什么?因为我有四个这样的自定义视图。这些按钮的视图创建一些中间视图 我有一个包含按钮的简单布局 我不得不用属性clipChildren=“false” 但是按钮不响应onClickListener 我确实错过了一些东西,但是什么呢 根本不播放动画单击。。。 甚至安卓的click歌曲也不会播放 java代码在那里没有效果。。 按钮的id按钮2正常工作。 按钮的id按钮不起作用 这是我的xml代

这段代码代表了我真正的问题

我正在做一个更复杂的U.I.项目

我有一个自定义视图,需要在左侧有一个按钮。为什么?因为我有四个这样的自定义视图。这些按钮的视图创建一些中间视图

我有一个包含按钮的简单布局

我不得不用属性
clipChildren=“false”

但是按钮不响应
onClickListener

我确实错过了一些东西,但是什么呢

根本不播放动画单击。。。 甚至安卓的click歌曲也不会播放

java代码在那里没有效果。。 按钮的id按钮2正常工作。 按钮的id按钮不起作用

这是我的xml代码

<LinearLayout
    android:orientation="vertical"
    android:background="#0000FF"
    android:clipChildren="false"
    android:layout_marginLeft="80dp"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
<TextView
    android:textColor="#FF0"
    android:layout_marginLeft="-20dp"
    android:text="@string/hello_world"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
    <Button
        android:id="@+id/button"
        android:layout_marginLeft="-80dp"
        android:layout_width="80dp"
        android:layout_height="80dp" />
    <Button
        android:id="@+id/button2"
        android:layout_width="80dp"
        android:layout_height="80dp" />
</LinearLayout>

尝试将按钮放回其父按钮内

如果它在那里工作,请仔细思考一下为什么您不希望此按钮位于其父按钮内部。这几乎总是一个坏主意,因为它会破坏事物(无论是在实践上还是在概念上)


我怀疑问题在于,对按钮占用的空间有更好要求的其他东西正在消耗触摸事件。

给你的按钮一个
id
。请发布您的java代码我的java代码中有一个简单的日志。这个问题并不是来自我的java代码:(@Pierre EmmanuelMercier显然是这样。这就是你设置
OnClickListener
的地方。在java代码中,你提到
Button buton1=(Button)rootView.findviewbyd(R.id.Button);
Button button2=(Button)rootView.findviewbyd(R.id.button2)
但是这些按钮id不在xml中。你检查过了吗?是否正确xmlDo clean and build。这些代码代表了我真正的问题…我正在处理一个U.I.更复杂的问题。我有一个自定义视图,需要在左侧有一个按钮。为什么?因为我有四个自定义视图。这些按钮的视图用于创建一些交互calary view!对不起,我不确定我是否理解您想要说的内容。但是我仍然非常确定您最好完全重新考虑您的布局结构。
Button buton1 = (Button) rootView.findViewById(R.id.button);
buton1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Log.wtf("-----", "Click");
        Toast.makeText(getActivity(), "button1", Toast.LENGTH_LONG).show();
    }
});

Button buton2 = (Button) rootView.findViewById(R.id.button2);
buton2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(getActivity(), "button2", Toast.LENGTH_LONG).show();
    }
});