我自定义的多选框可以选择,但是一点击确认(也就是文中的yes)就闪退了呢?(后续)
https://class.imooc.com/course/qadetail/106256
我一不小心点击了采纳答案,请老师问可以继续帮我看看吗?
我继续最后老师的问题:我的check_dialog布局中没有那两个textview控件,他们在我的activity_main里面,因为这两个textview的内容最后是要显示在主界面的,而不是对话框里。
1
收起
正在回答
2回答
你可以开始加载完TextView后让其隐藏,等点击对话框中的按钮后再让其可见,CheckDialog设置为MainActivity的内部类就可以直接处理TextView了。你可以参考老师帮你修改的如下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | public class MainActivity extends AppCompatActivity { private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = findViewById(R.id.button); tv = findViewById(R.id.textView); tv.setVisibility(View.INVISIBLE); btn.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { CheckDialog1 dialog = new CheckDialog1(MainActivity. this , 0 ); dialog.show(); } }); } class CheckDialog1 extends Dialog { private Button yes; public CheckDialog1( @NonNull final Context context, int themeResId) { super (context, themeResId); setContentView(R.layout.checkbox_dialog); yes = findViewById(R.id.yes); yes.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { tv.setVisibility(View.VISIBLE); tv.setText( "个人爱好:" ); dismiss(); } }); } } } |
Android零基础入门2018版
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7235 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧