Android 复选框如果条件?
所以我有一个android应用程序,有两个活动 1-主要 2秒 主活动在相对活动中有一个复选框。我想知道如何使用该复选框来设置一个条件,如果选中该复选框,我想在第二个活动中使ImageView=可见,TextView=消失,如果未选中,则反之亦然 我曾尝试使用共享首选项和意图,但我一直搞砸了某个地方,要么复选框无关紧要,要么屏幕显示为空白。另一件事是,在主活动中,我有一个按钮,它有onClick,并且已经有了意图。我只想知道如何使用第二个活动的复选框创建if条件。可悲的是,我会发布我的全部代码,但我已经把它搞得一团糟,试图弄明白它到处都是,不再有意义了 好的,我尝试了一些事情,尝试了一个发布的答案,但至少我能够清理代码,现在可以分享了,但它真的很糟糕,并关闭了应用程序,抱歉任何奇怪的格式,这是新的 activity_main.xmlAndroid 复选框如果条件?,android,android-activity,checkbox,Android,Android Activity,Checkbox,所以我有一个android应用程序,有两个活动 1-主要 2秒 主活动在相对活动中有一个复选框。我想知道如何使用该复选框来设置一个条件,如果选中该复选框,我想在第二个活动中使ImageView=可见,TextView=消失,如果未选中,则反之亦然 我曾尝试使用共享首选项和意图,但我一直搞砸了某个地方,要么复选框无关紧要,要么屏幕显示为空白。另一件事是,在主活动中,我有一个按钮,它有onClick,并且已经有了意图。我只想知道如何使用第二个活动的复选框创建if条件。可悲的是,我会发布我的全部代码,
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rlay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="sam.plsnyc.com.plsign.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Company"
android:id="@+id/textView"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignBottom="@+id/editText"
android:textAlignment="center"
android:textIsSelectable="false" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/textView"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Signage"
android:id="@+id/textView2"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignBottom="@+id/editText2"
android:textAlignment="center"
android:textIsSelectable="false" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText2"
android:layout_below="@+id/editText"
android:layout_alignLeft="@+id/editText"
android:layout_alignStart="@+id/editText"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Make Sign"
android:id="@+id/button"
android:layout_centerHorizontal="true"
android:layout_below="@+id/editText2" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imgView"
android:focusable="true"
android:src="@drawable/logo"
android:scaleType="fitXY"
android:visibility="visible"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Use Logo"
android:id="@+id/logobox"
android:layout_below="@+id/textView2"
android:layout_alignParentStart="true" />
</RelativeLayout>
DisplayMessageActivity.java
public class MainActivity extends Activity {
public final static String KEY_CHECKED = "chkd";
CheckBox lbox;
Button button;
EditText etxt;
EditText etxt2;
String toptxt;
String bottxt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);{
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
etxt = (EditText) findViewById(R.id.editText);
toptxt = etxt.getText().toString();
etxt2 = (EditText) findViewById(R.id.editText2);
bottxt = etxt2.getText().toString();
Intent i = new Intent(v.getContext(), DisplayMessageActivity.class);
i.putExtra("text1", toptxt);
i.putExtra("text2", bottxt);
startActivity(i);
lbox = (CheckBox) findViewById(R.id.logobox);
Intent i2 = new Intent (MainActivity.this, DisplayMessageActivity.class);
i2.putExtra(KEY_CHECKED, lbox.isChecked());
startActivity(i2);
}
});
}
}
}
public class DisplayMessageActivity extends Activity {
TextView ttxt;
TextView btxt;
@Override
protected void onCreate(Bundle savedInstanceState) {
this.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
btxt = (TextView) findViewById(R.id.restxtbot);
btxt.setText(getIntent().getStringExtra("text2"));
AutofitHelper.create(btxt);
ImageView image = (ImageView) findViewById(R.id.iV2);
Boolean chk = getIntent().getBooleanExtra(MainActivity.KEY_CHECKED, false);
if (chk)
{
ttxt.setVisibility(View.GONE);
image.setVisibility(View.VISIBLE);
}else{
ttxt.setVisibility(View.VISIBLE);
ttxt = (TextView)findViewById(R.id.restxttop);
ttxt.setText(getIntent().getStringExtra("text1"));
AutofitHelper.create(ttxt);
ttxt.setPaintFlags(ttxt.getPaintFlags()| Paint.UNDERLINE_TEXT_FLAG);
}
}
}
如果从主活动中打开第二个活动,则可以将isChecked值放在intent中,否则在这个简单的案例中,将值设置为静态为这两个活动提供xml我们无法帮助您,除非您发布您已经尝试过的内容。。这就是stackoverflow的工作方式
public class DisplayMessageActivity extends Activity {
TextView ttxt;
TextView btxt;
@Override
protected void onCreate(Bundle savedInstanceState) {
this.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
btxt = (TextView) findViewById(R.id.restxtbot);
btxt.setText(getIntent().getStringExtra("text2"));
AutofitHelper.create(btxt);
ImageView image = (ImageView) findViewById(R.id.iV2);
Boolean chk = getIntent().getBooleanExtra(MainActivity.KEY_CHECKED, false);
if (chk)
{
ttxt.setVisibility(View.GONE);
image.setVisibility(View.VISIBLE);
}else{
ttxt.setVisibility(View.VISIBLE);
ttxt = (TextView)findViewById(R.id.restxttop);
ttxt.setText(getIntent().getStringExtra("text1"));
AutofitHelper.create(ttxt);
ttxt.setPaintFlags(ttxt.getPaintFlags()| Paint.UNDERLINE_TEXT_FLAG);
}
}
}