java - 如何设置从另一个 Activity 检查的单选按钮?

标签 java android android-activity

我有两项 Activity 。第一个 Activity 具有不同的布局,可打开另一个 Activity 。在另一个 Activity 中,我有一组分段的单选按钮,我想根据在第一个 Activity 中单击的布局将其设置为选中。为了检查单选按钮,我使用了这个。

segmented5.check(R.id.pickupbakButton);

这将按钮设置为选中,但我希望从另一个 Activity 中检查它,因为我在布局中进行了其他更改。

我有第一个这样的 Activity :enter image description here

我们可以说 PICKUPBOX/BLIND VAN 的 onClick

enter image description here

它应该显示选中的皮卡/盲车单选按钮。

我怎样才能实现这个目标?

GoBoxActivity

public class GoBoxActivity extends AppCompatActivity {

private Intent i;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_go_box);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    toolbar.setTitle("GO-BOX");
    setSupportActionBar(toolbar);

    toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white_24dp);

    toolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            onBackPressed();
        }
    });

   final GoBoxPickupActivity gobox = new GoBoxPickupActivity();

   LinearLayout pickupBak = (LinearLayout)findViewById(R.id.PickupBak);
    LinearLayout picupBox = (LinearLayout)findViewById(R.id.pickupbox);
    LinearLayout engkelBak = (LinearLayout)findViewById(R.id.engkelBak);
    LinearLayout engkelBox = (LinearLayout)findViewById(R.id.engkelBox);

    pickupBak.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            i=new Intent(getApplicationContext(),GoBoxPickupActivity.class);
            startActivity(i);
        }
    });

    picupBox.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            i=new Intent(getApplicationContext(),GoBoxPickupActivity.class);
            startActivity(i);
        }
    });

    engkelBak.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            i=new Intent(getApplicationContext(),GoBoxPickupActivity.class);
            startActivity(i);
        }
    });
    engkelBox.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            i=new Intent(getApplicationContext(),GoBoxPickupActivity.class);
            startActivity(i);
        }
    });
  }
}

PickupBoxActivity

     @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_go_box_pickup);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
segmented5 = (SegmentedGroup) findViewById(R.id.segmented3);

    segmented5.setOnCheckedChangeListener(this);

 @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {
        switch (checkedId) {
            case R.id.pickupbakButton:

                engkelTextview.setVisibility(View.GONE);
                extraEngkelTextView.setVisibility(View.GONE);
                airConditioning.setVisibility(View.GONE);
                picBoxTextview.setVisibility(View.VISIBLE);
                extraPickBoxTextview.setVisibility(View.VISIBLE);

                return;

            case R.id.pickupboxButton:

                engkelTextview.setVisibility(View.GONE);
                extraEngkelTextView.setVisibility(View.GONE);
                airConditioning.setVisibility(View.VISIBLE);
                picBoxTextview.setVisibility(View.VISIBLE);
                extraPickBoxTextview.setVisibility(View.VISIBLE);

                return;

            case R.id.engkelbakButton:

                picBoxTextview.setVisibility(View.GONE);
                extraPickBoxTextview.setVisibility(View.GONE);
                engkelTextview.setVisibility(View.VISIBLE);
                extraEngkelTextView.setVisibility(View.VISIBLE);
                airConditioning.setVisibility(View.INVISIBLE);

                return;

            case R.id.engkelboxButton:

                picBoxTextview.setVisibility(View.GONE);
                extraPickBoxTextview.setVisibility(View.GONE);
                engkelTextview.setVisibility(View.VISIBLE);
                extraEngkelTextView.setVisibility(View.VISIBLE);
                airConditioning.setVisibility(View.VISIBLE);

                return;
            default:

                engkelTextview.setVisibility(View.GONE);
                extraEngkelTextView.setVisibility(View.GONE);
                airConditioning.setVisibility(View.GONE);
                picBoxTextview.setVisibility(View.VISIBLE);
                extraPickBoxTextview.setVisibility(View.VISIBLE);
        }
    }
}

最佳答案

修改GoBoxActivity中onClick内的代码,如下

i=new Intent(getApplicationContext(),GoBoxPickupActivity.class);
i.putExtra("selected", 1);
startActivity(i);

PickupBoxActivity 中,执行类似的操作

int selected = getIntent().getIntExtra("selected",1);

之后

switch(selected)
{
    case 1:
      segmented5.check(R.id.pickupbakButton);
    break;
    case 2:
       .... So on
}

如有任何问题,请进一步了解..

关于java - 如何设置从另一个 Activity 检查的单选按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34333618/

相关文章:

android - 进程意外退出。 AAPT2 aapt2-3.4.2-5326820-windows 守护进程 #0 : Daemon startup failed problem

android - 如何使用抽屉导航打开和关闭更改我的按钮图像

java - 如何通过 Android Activity 中的消息取回回复

java - apache.commons.net.ftp.FTPClient 没有将文件上传到所需的文件夹

java - 在 J2EE 中的上下文监听器中运行线程是否相关?

Java BufferedReader 通过自定义分隔符读取行

android - 我的 style.xml 中有 "textColor"问题

android - 在 Android 应用程序上添加新的更新

android - getIntent().getExtras() 有时会在 Activity 中崩溃

java - 如何在自定义约束注解的约束违规消息中显示字段名称描述?