在同一活动上有两个图像按钮

时间:2016-04-27 21:50:36

标签: android android-activity

我想要的是打开我的应用程序并单击图像按钮,这会将我带到另一个具有不同图像按钮的活动。但是当我运行它时,两个图像同时出现在两个活动上。有人有任何线索吗?

ImageButton imagebtn2 = (ImageButton) findViewById(R.id.imagebtn2);
        imagebtn2.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {


                Intent intent = new Intent
                        (Scrape.this, MainActivity.class);
                startActivity(intent);
            }
        });

这是我的代码,MainActivity是相同的代码,只是名称不同。以下是我的清单。

 <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name=".Scrape"
            android:label="@string/app_name1"
            android:theme="@style/AppTheme.NoActionBar" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

这是我的xml。

<ImageButton
    android:id="@+id/imagebtn1"
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:layout_marginLeft="15dp"
    android:src="@drawable/got" />
<ImageButton
    android:id="@+id/imagebtn2"
    android:layout_width="70dp"
    android:layout_height="80dp"
    android:layout_marginLeft="15dp"
    android:src="@drawable/timetable" />

MainActivity *

public class MainActivity extends AppCompatActivity {

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

        ImageButton imagebtn1 = (ImageButton) findViewById(R.id.imagebtn1);
        imagebtn1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {


                Intent intent = new Intent
                        (MainActivity.this, Scrape.class);
                startActivity(intent);
            }
        });
    }

1 个答案:

答案 0 :(得分:1)

原因是:

<ImageButton
android:id="@+id/imagebtn1"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_marginLeft="15dp"
android:src="@drawable/got" />

<ImageButton
android:id="@+id/imagebtn2"
android:layout_width="70dp"
android:layout_height="80dp"
android:layout_marginLeft="15dp"
android:src="@drawable/timetable" />

您在同一布局文件中有两个图像按钮。

如果你想让这两个活动在不同的活动中,那么你可以创建第二个布局并在其中放置一个图像按钮,然后将第一个图像按钮保留在第一个布局文件中。

如上面的评论中所述,您希望一个活动成为应用程序中的启动器活动。

我希望这有帮助!