为什么Fragment中的按钮写在onActivityCreated中依旧无效?

Dust__ 2019-06-07 04:57:14
为了方便检查BT_in按钮我设置成了serText但是依旧无效,每个按钮都没用,我按照书上和网上写的代码我感觉完全没区别但是就是实现不了。其他不用看,我就想知道为什么BT_in按钮无效?


public class Fragment3 extends Fragment{

private final String TABLENAME="Money_TB";
private EditText ET_in,ET_out;
private Button BT_in,BT_out,BT_re;
private SQLiteDatabase db;
private TextView Money;
DBOpenHelper helper;

public Fragment3() {

}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.tab03,container,false);
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);

Money=(TextView)getActivity().findViewById(R.id.money2);
int num=Integer.parseInt(Money.getText().toString());

ET_in=(EditText)getActivity().findViewById(R.id.moneyin);
ET_out=(EditText)getActivity().findViewById(R.id.moneyout);

helper = new DBOpenHelper(getActivity());

BT_in=(Button)getActivity().findViewById(R.id.moneyinb);
BT_out=(Button)getActivity().findViewById(R.id.moneyoutb);
BT_re=(Button)getActivity().findViewById(R.id.referesh);

BT_re.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
db = helper.getWritableDatabase();
Refresh();
}

private void Refresh() {
// TODO Auto-generated method stub
ContentValues values=new ContentValues();
int money1=10000;
values.put("money", money1);
db.update(TABLENAME, values, null, null);
}
});

BT_in.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ET_in.setText("123");
}

private void In() {
// TODO Auto-generated method stub

ContentValues values=new ContentValues();
String ETIN=ET_in.getText().toString();
int num=Integer.parseInt(ETIN);
values.put("money",num);
db.insert(TABLENAME, null, values);

Cursor cursor= db.query("diary",null,null,null,null,null,null);
Money.setText(num);
ET_in.setText(" ");
}
});
BT_out.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
db = helper.getWritableDatabase();
Out();
}

private void Out() {
// TODO Auto-generated method stub

}
});
}
}
...全文
626 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxb3121999 2019-06-16
  • 打赏
  • 举报
回复
(TextView)getActivity().findViewById(R.id.money2);你这个是找的activity的布局文件的View,并不是fragment的。所以这些事件都不会响应的。
王能 2019-06-10
  • 打赏
  • 举报
回复
直接debug 到setText那一行,看看调用没
2019-06-10
  • 打赏
  • 举报
回复
把代码写在onViewCreated中试试
kangweicn 2019-06-08
  • 打赏
  • 举报
回复
运行的时候报错了吗,没报错的话,这个button不是空,应该没问题,问题应该出在你onclick里面的实现吧

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧