【问题标题】:One button working Buttons not working in android一键工作按钮在android中不起作用
【发布时间】:2015-06-22 11:30:56
【问题描述】:

对不起,我是新手,这是我的主页 java 类。 IntroButton 运行良好,但反馈不起作用,我是 触摸反馈按钮,但未触摸。表示没有输出。

由 AwaisButt awais.b7solpk@gmail.com 于 2015 年 4 月 15 日创建。

public class HomePage extends Activity { protected void
onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.homepage);
        Button introButton = (Button) findViewById(R.id.bIntro);
        Button feedBackButton = (Button) findViewById(R.id.bFeedBack);


        introButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(HomePage.this,Introduction.class);
                startActivity(intent);
            }
        });

        feedBackButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(HomePage.this,FeedBack.class);
                startActivity(intent);
            }
        });

    }

XML 文件

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@drawable/homepage">


    <Button
    android:layout_width="139dp"
    android:layout_height="44dp"

    android:id="@+id/bIntro"
    android:layout_marginLeft="23dp"
    android:layout_marginTop="180dp"
    android:background="@android:color/transparent"
     android:layout_gravity="center_vertical" />

    <Button
        android:layout_width="139dp"
        android:background="@android:color/transparent"
        android:layout_height="44dp"
        android:text="FeedBack"
        android:id="@+id/bFeedBack"
        android:layout_marginLeft="23dp"
        android:visibility="invisible"
        android:layout_marginTop="1dp"
        android:layout_gravity="center_vertical" />

    <Button
        android:layout_width="139dp"
        android:background="@android:color/transparent"
        android:layout_height="44dp"
        android:visibility="invisible"
        android:text="Order"
        android:id="@+id/bOrder"
        android:layout_marginLeft="23dp"
        android:layout_marginTop="-4dp"
        android:layout_gravity="center_vertical" />

    <Button
        android:layout_width="139dp"
        android:visibility="invisible"
        android:layout_height="44dp"
        android:text="Catalogue"
        android:background="@android:color/transparent"
        android:id="@+id/bCatalogue"
        android:layout_marginLeft="23dp"
        android:layout_marginTop="-7dp"
        android:layout_gravity="center_vertical" />

    <Button
        android:layout_width="139dp"
        android:visibility="invisible"
        android:layout_height="44dp"
        android:text="Web"
        android:id="@+id/bWeb"
        android:layout_marginLeft="23dp"
        android:layout_marginTop="-10dp"
        android:background="@android:color/transparent"
        android:layout_gravity="center_vertical" /> </LinearLayout>

【问题讨论】:

    标签: java android xml


    【解决方案1】:

    错误:

    你做错了,反馈按钮的可见性是不可见的!简介按钮被点击,因为它在您的布局中可见!

    仅供参考

    View.GONE 这个视图是不可见的,它不占用任何空间 布局目的。

    View.INVISIBLE 这个视图是不可见的,但它仍然占用空间 布局目的。

    【讨论】:

      【解决方案2】:

      检查您的 OnClickListener() 是否属于 View.OnClickListener() 类型。

      【讨论】:

      • 你确定吗?然后告诉我为什么 OnClickListener 对 intro 按钮起作用?
      【解决方案3】:

      这是因为您将button 设置为Invisible

       <Button
              android:layout_width="139dp"
              android:background="@android:color/transparent"
              android:layout_height="44dp"
              android:text="FeedBack"
              android:id="@+id/bFeedBack"
              android:layout_marginLeft="23dp"
              android:visibility="invisible" // here
              android:layout_marginTop="1dp"
              android:layout_gravity="center_vertical" />
      

      删除该行。它会起作用的。

      另一种解决方案是,

      你可以在找到按钮id后在onCreate方法中使用这一行。

      feedBackButton.setVisibility(View.VISIBLE);
      

      祝你好运!

      【讨论】:

      • 当我已经在我的答案中提到相同的东西时,多余的答案是什么?
      • @PareshMayani Mine 可以通过 XML 编辑或通过代码在 MainActivity 中完成。
      • @ARB 欢迎 :) 接受如果它有帮助,那么它将对未来的搜索者有用:)
      猜你喜欢
      • 2018-08-02
      • 2020-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-26
      相关资源
      最近更新 更多