Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android studio中通过单击不同活动中的按钮在活动中启动图像_Android_Android Intent_Android Studio - Fatal编程技术网

如何在android studio中通过单击不同活动中的按钮在活动中启动图像

如何在android studio中通过单击不同活动中的按钮在活动中启动图像,android,android-intent,android-studio,Android,Android Intent,Android Studio,我在主活动中有不同的文本视图,单击每个文本视图会导致另一个活动。除第一个外,所有这些都已禁用。这个过程应该是,在完成第一个活动时,单击“完成”按钮,它将启用下一个文本视图,并且,我希望保持第一个文本视图处于启用状态,以防用户想要返回并修复其信息。我想做的是,每次用户点击“完成”按钮时,它都会将您带回主活动,并将选中标记的图像或图标放在用户已完成的文本视图=活动旁边 主要活动 所以基本上,在这个主要部分中,我从我的其他活动中收到一个接收意图,我得到一个用户号,它将在witch中决定是否要进入 pr

我在主活动中有不同的文本视图,单击每个文本视图会导致另一个活动。除第一个外,所有这些都已禁用。这个过程应该是,在完成第一个活动时,单击“完成”按钮,它将启用下一个文本视图,并且,我希望保持第一个文本视图处于启用状态,以防用户想要返回并修复其信息。我想做的是,每次用户点击“完成”按钮时,它都会将您带回主活动,并将选中标记的图像或图标放在用户已完成的文本视图=活动旁边

主要活动 所以基本上,在这个主要部分中,我从我的其他活动中收到一个接收意图,我得到一个用户号,它将在witch中决定是否要进入

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

    //text view's in the main activity
    personal = (TextView) findViewById(R.id.personal);
    preference = (TextView) findViewById(R.id.preference);
    music = (TextView) findViewById(R.id.music);
    sports = (TextView) findViewById(R.id.sports);

    //Each image view in the main activity
    Icheck4 = (ImageView) findViewById(R.id.ICheck4);
    Icheck3 = (ImageView) findViewById(R.id.ICheck3);
    Icheck2 = (ImageView) findViewById(R.id.ICheck2);
    Icheck1 = (ImageView) findViewById(R.id.ICheck1);

    Intent in = getIntent();


    preference.setEnabled(false);
    music.setEnabled(false);
    sports.setEnabled(false);

    Icheck1.setVisibility(View.INVISIBLE);
    Icheck2.setVisibility(View.INVISIBLE);
    Icheck3.setVisibility(View.INVISIBLE);
    Icheck4.setVisibility(View.INVISIBLE);

    int myValue = in.getIntExtra("parametername1", 0);


    if (myValue == 1) {
        Icheck1.setVisibility(View.VISIBLE);
        preference.setEnabled(true);
    }

    if (myValue2 == 2) {
        Icheck2.setVisibility(View.VISIBLE);
        preference.setEnabled(true);
        music.setEnabled(true);
    }

    if (myValue == 3) {
        Icheck3.setVisibility(View.VISIBLE);
        preference.setEnabled(true);
        music.setEnabled(true);
        sports.setEnabled(true);
    }

    if (myValue == 4) {
        Icheck4.setVisibility(View.VISIBLE);
        preference.setEnabled(true);
        music.setEnabled(true);
        sports.setEnabled(true);
    }




}
第一项活动 在这个活动中,我创建了一个callClick方法,这样每当按钮单击时,它都会发送一个userNumber,并使我返回到主活动。 在2,3和4活动中,我有相同的东西,除了,用户号改变,因为用户号是决定witch是否进入主活动的

public void callClick(View v){
    int userNumber = 1;

    Intent in = new Intent(MainActivity2Activity.this, MainActivity.class);
    in.putExtra("parametername1", userNumber);
    startActivity(in);

}

我遇到的问题是,每次用户返回到以前的文本视图编辑他的信息时,该视图下面的文本视图将再次被禁用,并且复选标记不可见。我怎样才能解决这个问题???请有没有一种方法,我可以直接启动和图像,而不是让它看不见

您应该使用活动结果来处理它:

在主要活动中:

public void onClick(View v) {
    Intent intent = new Intent(this, MainActivity2Activity.class);
    startActivityForResult(intent, PERFERENCE_CODE);
}

// React to complete edit
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)     {
    // Check which request we're responding to
    if (resultCode == RESULT_OK) {
        if (requestCode == PERFERENCE_CODE) {
            // set UI update here
        } else if (requestCode == MUSIC_CODE) {
            // set UI update here
        }
    }
}
在MainActivity2Activity中,不要使用intent/startActivity,请使用以下代码返回:

setResult(Activity.RESULT_OK);
finish();

我得到它的大部分,但什么将是偏好码和音乐码,我怎么得到它!!!我很困惑,因为它们是您想要在ActivityResult中捕获的状态,您可以在MainActivity中将其定义为静态int常量,并单独使用startActivityForResult启动它,以便在从不同的“编辑”活动返回后设置不同的UI更新。