【问题标题】:How make visible a button from another class. Android如何使另一个类的按钮可见。安卓
【发布时间】:2013-06-07 16:29:57
【问题描述】:

New_Game 类

imageView1.setOnClickListener(new View.OnClickListener(){

   public void onClick(View v) {
       Intent myIntent = new Intent(v.getContext(), Image_Quiz.class);>

       Bundle extras = new Bundle();
       extras.putBoolean("showButton1", true);
       myIntent.putExtras(extras);
       startActivityForResult(myIntent, 0);
       Image_Quiz.button1.setVisibility(View.VISIBLE);
   }

});

Image_Quiz 类

protected void onCreate(Bundle savedInstanceState) {

   this.setContentView(R.layout.image_quiz);
   Bundle extras = this.getIntent().getExtras();
   Boolean showButton = extras.getBoolean("showButton1");
   if (showButton){
       this.findViewById(R.Image_Quiz.button1).setVisibility(View.VISIBLE);
   }
   super.onCreate(savedInstanceState);

?xml version="1.0" encoding="utf-8"?

   RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent"

     EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:ems="10"
        android:id="@+id/editText"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"

     TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Back"
        android:id="@+id/textView"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"

      TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Main Menu"
        android:id="@+id/textView2"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"

      Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Buton 1"
        android:id="@+id/button"
        android:layout_above="@+id/editText"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="22dp"

     EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:ems="10"
        android:id="@+id/editText2"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"

      Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Buton 2"
        android:id="@+id/button2"
        android:layout_alignBottom="@+id/button"
        android:layout_alignRight="@+id/button"
        android:layout_alignLeft="@+id/button"
        android:layout_alignTop="@+id/button"
        
   RelativeLayout

关于 Image_Quiz 类

     button1 = (Button)findViewById(R.id.button);

Image_Quiz是我按imageView1时从这个类切换的类。

当我按下 imageView1 时,它会打开 Image_Quiz 类,但按钮不可见。

【问题讨论】:

    标签: android


    【解决方案1】:

    您应该将参数传递给您正在调用的活动,例如:

    imageView1.setOnClickListener(new View.OnClickListener(){
    
       public void onClick(View v) {
           Intent myIntent = new Intent(v.getContext(), Image_Quiz.class);
           Bundle extras = new Bundle();
           extras.putBoolean("showButton1", true);
           myIntent.putExtras(extras);
           startActivityForResult(myIntent, 0);
       }
    });
    

    在您的 Image_Quiz 中:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        this.setContentView(R.layout.image_quiz);
        Bundle extras = this.getIntent().getExtras();
        Boolean showButton = extras.getBoolean("showButton1");
        Button button1 = (Button)findViewById(R.id.button);
        if (showButton){
            button1.setVisibility(View.VISIBLE);
        } else {
            //...you know...
        }
        super.onCreate(savedInstanceState);
    }
    

    【讨论】:

    • 不工作当我单击图像时它会显示错误。我应该在“你的屏幕”上放什么?我把“id”
    • 你必须把你的布局xml名称,比如crud_person.xml,没有'.xml',所以crud_person。
    猜你喜欢
    • 2015-03-12
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-20
    相关资源
    最近更新 更多