嗨,我正在创建一个应用程序,它在Fragment
中使用Button
,所以当我单击Button
时,Butto
n将生成一个吐司文本,我使用Button
单击侦听器来代替。但问题是,我的Button
没有响应单击,当我点击它的时候,Button
什么也没有响应,所以我对它感到很紧张。下面是我的主要问题代码:
test = (Button) findViewById(R.id.button2);
t_layout = (TabLayout) findViewById(R.id.tabs);
t_layout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
Fragment fragment;
String contain = tab.getText().toString();
if(contain.equals("POWER")){
fragment = new power_fragment();
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment2, fragment);
ft.commit();
test.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(),"Test on",Toast.LENGTH_SHORT).show();
}
}
}
}
});
我正在使用Tabitems,所以当我单击“POWER”的Tabitems时,Fragment
将更改为包含测试Button
的power_fragment布局。但即使单击测试Button
,它也无法生成吐司文本。
4条答案
按热度按时间k75qkfdt1#
在你的fragment类中
7d7tgy0s2#
您不能在fragment内使用findViewById。您需要执行类似以下的操作。
//这个primaryView是您在onCreateView上返回的容器视图;
///片段应该实现View.OnClickListener
beq87vna3#
初始化power_fragment中的
test
按钮,并在您将test
按钮放入power_fragment布局中时,将OnClickListener
写入power_fragment将以下代码放入power_fragment中
jqjz2hbq4#
顺便说一句,我安装了一个Click,它工作得很好