【问题标题】:How to open a layout whith setOnClickListener如何使用 setOnClickListener 打开布局
【发布时间】:2016-08-27 01:53:41
【问题描述】:

我有一个 Activity 可以打开其他的 Activity,这些 Activity 彼此打开一个布局,我的第一个 Activity 是否可以在其他 Activity 不存在的情况下打开布局(通过按钮的触摸)?

Activity1.java

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Activity1 extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.button1); // Αναζητούμε τα στοιχεία του κουμπιού
    Button button1 = (Button) findViewById(R.id.button1);// Πατώντας το button1 ανοίγει μία νέα δραστηριότητα
    Button button2 = (Button) findViewById(R.id.button2);
    Button button3 = (Button) findViewById(R.id.button3);
    Button button4 = (Button) findViewById(R.id.button4);
    Button button5 = (Button) findViewById(R.id.button5);
    Button button6 = (Button) findViewById(R.id.button6);
    Button button7 = (Button) findViewById(R.id.button7);
    Button button8 = (Button) findViewById(R.id.button8);
    Button button9 = (Button) findViewById(R.id.button9);
    Button button10 = (Button) findViewById(R.id.button10);
    Button button11 = (Button) findViewById(R.id.button11);
    Button button12 = (Button) findViewById(R.id.button12);
    Button button13 = (Button) findViewById(R.id.button13);
    Button button14 = (Button) findViewById(R.id.button14);
    Button button15 = (Button) findViewById(R.id.button15);
    Button button16 = (Button) findViewById(R.id.button16);
    Button button_end = (Button) findViewById(R.id.button_end);


    button1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setClass(getApplicationContext(), Activity_Photo_1.class);
            startActivity(intent);
        }
    });

    button2.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setClass(getApplicationContext(), Activity_Photo_2.class);
            startActivity(intent);
        }
    });
    button3.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setClass(getApplicationContext(), Activity_Photo_3.class);
            startActivity(intent);
        }
    });
    button4.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setClass(getApplicationContext(), Activity_Photo_4.class);
            startActivity(intent);
        }
    });
    button5.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setClass(getApplicationContext(), Activity_Photo_5.class);
            startActivity(intent);
        }
    });
    button6.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setClass(getApplicationContext(), Activity_Photo_6.class);
            startActivity(intent);
        }
    });

    button7.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setClass(getApplicationContext(), Activity_Photo_7.class);
            startActivity(intent);
        }
    });
    button8.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setClass(getApplicationContext(), Activity_Photo_8.class);
            startActivity(intent);
        }
    });
    button9.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setClass(getApplicationContext(), Activity_Photo_9.class);
            startActivity(intent);
        }
    });
    button10.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setClass(getApplicationContext(), Activity_Photo_10.class);
            startActivity(intent);
        }
    });
    button11.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setClass(getApplicationContext(), Activity_Photo_11.class);
            startActivity(intent);
        }
    });
    button12.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setClass(getApplicationContext(), Activity_Photo_12.class);
            startActivity(intent);
        }
    });

    button13.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setClass(getApplicationContext(), Activity_Photo_13.class);
            startActivity(intent);
        }
    });
    button14.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setClass(getApplicationContext(), Activity_Photo_14.class);
            startActivity(intent);
        }
    });
    button15.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setClass(getApplicationContext(), Activity_Photo_15.class);
            startActivity(intent);
        }
    });
    button16.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setClass(getApplicationContext(), Activity_Photo_16.class);
            startActivity(intent);
        }
    });
    button_end.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            {
                finish();
            }
        }
    });
}

}

这是中间活动之一

Activity_Photo1.java

  import android.app.Activity;
import android.os.Bundle;

public class Activity_Photo_1 extends Activity {

    @Override public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.photo_1);
    }
}

这是其中一种布局

photo1.xml

<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"


    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FFCC0000">

<RelativeLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FFCC0000">


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="57dp"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="@string/button1_1"
        android:id="@+id/textView3"
        android:layout_gravity="center_horizontal"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="350dp"
        android:id="@+id/imageView"
        android:src="@drawable/photo_1"
        android:layout_gravity="center_horizontal"
        android:layout_below="@+id/textView3"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="52dp" />
</RelativeLayout>
</ScrollView>

【问题讨论】:

  • 没有其他活动是什么意思?
  • 您的问题不清楚。请编辑您的问题
  • 如果你想在不使用 setonclicklistner 的情况下打开另一个类,那么你可以使用 fragment
  • 调用setContentView(R.layout.yourlayout); 任何你想加载另一个布局的地方。但请确保在加载另一个布局后,您以前的视图将在 NP exception 下。

标签: android button android-activity layout click


【解决方案1】:

如果我理解正确,请尝试这段代码:

Intent intent = new Intent(getApplicationContext(), Home.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多