2种不同意图的方法......但结果相同

时间:2017-09-01 16:52:22

标签: java android android-intent android-activity

我正在尝试在主屏幕上显示一些按钮,以打开每个按钮独有的新活动。单击“开始测试”按钮时,将打开TestSelection活动。但是,当我单击“修改站”按钮时,将打开相同的TestSelection活动,而不是ModifySelection活动。

我对此完全陌生,所以我确定这是一个简单的错误。但是我整天都在努力工作。似乎无法找到任何答案。

MainActivity Java:

package com.example.android.test;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {

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

//Called when user taps the Begin Test Button
public void selectTest(View view){
    Intent test_selection_screen = new Intent(MainActivity.this, TestSelection.class);
    startActivity(test_selection_screen);
}

//Called when user taps the Modify Station Button
public void modifyTest(View v){
    Intent modify_station_screen = new Intent(MainActivity.this, ModifyStation.class);
    startActivity(modify_station_screen);
}
}

相关的activity_main.xml代码

<ImageButton
    android:id="@+id/modify_button"
    style="?android:attr/borderlessButtonStyle"
    android:layout_width="120dp"
    android:layout_height="120dp"
    android:scaleType="centerCrop"
    android:src="@drawable/modify"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:layout_marginTop="25dp"
    android:layout_below="@id/test_text"
    android:layout_alignParentStart="true"
    android:onClick="modifyTest"
    />

<ImageButton
    android:id="@+id/test_button"
    style="?android:attr/borderlessButtonStyle"
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:layout_below="@+id/status_text"
    android:layout_centerHorizontal="true"
    android:layout_centerInParent="true"
    android:scaleType="centerCrop"
    app:srcCompat="@drawable/test"
    android:onClick="selectTest"
    />

我不确定是否有其他相关的代码,但我会包含更多可能的代码

ModifyStation java

package com.example.android.test;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.Spinner;

import static com.example.android.test.R.id.test_selection_spinner;

public class ModifyStation extends AppCompatActivity {

private Spinner station_modify_selection_spinner;
private Button btnBeginModify;

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

//add items into spinner dynamically
public void addListenerOnSpinnerItemSelection() {

    station_modify_selection_spinner = (Spinner) findViewById(R.id.station_modify_selection_spinner);
}


}

测试选择java

package com.example.android.test;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.List;

public class TestSelection extends AppCompatActivity {

private Spinner test_selection_spinner;
private Button btnBeginTest;

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

//add items into spinner dynamically
public void addListenerOnSpinnerItemSelection() {

    test_selection_spinner = (Spinner) findViewById(R.id.test_selection_spinner);

}


}

2 个答案:

答案 0 :(得分:0)

在ModifyStation中

,替换

setContentView(R.layout.activity_test_selection);

有自己的布局文件,现在您正在使用TestSelection的布局文件

答案 1 :(得分:0)

在您的ModifyStation活动中,您正在加载xml的TestSelection:

setContentView(R.layout.activity_test_selection);请将其更改为您的xml of ModifyStation:setContentView(R.layout.modify_station);

这应该有用。

谢谢!