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