package com.example.wechat;
import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.fragment.app.Fragment;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button wechat=findViewById(R.id.wechat1);
Button connect=findViewById(R.id.button2);
Button found=findViewById(R.id.button3);
Button me=findViewById(R.id.button4);
wechat.setOnClickListener(oo);
connect.setOnClickListener(oo);
found.setOnClickListener(oo);
me.setOnClickListener(oo);
}
View.OnClickListener oo = new View.OnClickListener() {
@Override
public void onClick(View view) {
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
Fragment f =null;
switch (view.getId()) {
case R.id.wechat1:
f = new wechat_fragment();
break;
case R.id.button2:
f = new conntct_fragment();
break;
case R.id.button3:
f = new found_fragment();
break;
case R.id.button4:
f = new me_fragment();
break;
default:
break;
}
ft.replace(R.id.fragment,f);
ft.commit();
}
};
}
有可能报null错误
你这个switch要是走到default; 那你的f就没有初始化,是空指针。你可以把default给删掉,也可以在default里面加上f的初始化 case R.id.button4:
f = new me_fragment();
break;
default:
f = new me_fragment();
break;