![](/img/trans.png)
[英]Android: Prevent multiple onClick events on a button (that has been disabled)
[英]onClick multiple button - Android
你好,我是android新手,我有多個按鈕的問題,首先我在MainActivity中實現了多個按鈕,現在可以與我一起工作,我創建了另一個活動,並在新活動中實現了與mainActivity中相同的操作此活動中的多個按鈕
新的Activity(Activity6.class):
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Intent;
import android.view.View;
import android.widget.Button;
public class Activity6 extends AppCompatActivity implements
View.OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.adminbackdoor);
Button ee = (Button) findViewById(R.id.button12);
Button ff = (Button) findViewById(R.id.button9);
Button gg = (Button) findViewById(R.id.button10);
Button hh = (Button) findViewById(R.id.button11);
ee.setOnClickListener(this);
ff.setOnClickListener(this);
gg.setOnClickListener(this);
hh.setOnClickListener(this);
}
@Override
public void onClick (View vv){
switch (vv.getId()) {
case R.id.button12:
Intent e = new Intent(Activity6.this, Admin1.class);
startActivity(e);
break;
case R.id.button9:
Intent f = new Intent(Activity6.this, User1.class);
startActivity(f);
break;
case R.id.button10:
Intent g = new Intent(Activity6.this, Teacher1.class);
startActivity(g);
break;
case R.id.button11:
Intent h = new Intent(Activity6.this, Class1.class);
startActivity(h);
break;
default:
break;
}
}
Admin1.class
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
public class Admin1 extends AppCompatActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.admin);
}
}
User1.class
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
public class User1 extends AppCompatActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.adminuser);
}
}
活動Teacher1.class和Class1.class與Admin1.class和User1.class相同,但布局不同。 注意:我將所有活動添加到清單中,如下所示:
<activity android:name=".Activity6"></activity>
<activity android:name=".Admin1"></activity>
<activity android:name=".Class1"></activity>
<activity android:name=".Teacher1"></activity>
<activity android:name=".User1"></activity>
adminbackdoor.XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="العمليات"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textView"
android:fontFamily="serif"
android:textSize="30sp"
android:textStyle="bold"
android:layout_marginTop="60dp"
android:layout_marginRight="140dp" />
<Button
android:id="@+id/button12"
android:layout_width="231dp"
android:layout_height="wrap_content"
android:layout_marginLeft="80dp"
android:layout_marginTop="20dp"
android:background="@drawable/round"
android:text="admin"
android:textSize="24sp"
android:textStyle="bold" />
<Button
android:id="@+id/button9"
android:layout_width="231dp"
android:layout_height="wrap_content"
android:layout_marginLeft="80dp"
android:layout_marginTop="20dp"
android:background="@drawable/round"
android:text="user"
android:textSize="24sp"
android:textStyle="bold" />
<Button
android:id="@+id/button10"
android:layout_width="231dp"
android:layout_height="wrap_content"
android:layout_marginLeft="80dp"
android:layout_marginTop="20dp"
android:background="@drawable/round"
android:text="teacher"
android:textSize="24sp"
android:textStyle="bold" />
<Button
android:id="@+id/button11"
android:layout_width="231dp"
android:layout_height="wrap_content"
android:layout_marginLeft="80dp"
android:layout_marginTop="20dp"
android:background="@drawable/round"
android:text="class"
android:textSize="24sp"
android:textStyle="bold" />
</LinearLayout>
和onClick不適合我,我不知道這是什么問題? 如果我運行該應用程序並單擊該按鈕,它們將不起作用(轉到其他布局)
首先,您應該擴展Activity
而不是AppCompatActivity
。
我可以建議的一件事是在這種情況下使用點擊偵聽器:
Button ee = (Button) findViewById(R.id.button12);
ee.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent e = new Intent(Activity6.this, Admin1.class);
startActivity(e);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.