我在其中声明了Bottom应用程序栏的类的代码为:
import PageNav from '@/components/PageNav.vue';
import PageFooter from '@/components/PageFooter.vue';
export default {
name: 'Groups',
components: {
PageNav,
PageFooter,
},
data() {
return {
groups: [],
error: '',
};
},
methods: {
fetchGroups() {
const url = 'http://localhost:3000/groups';
this.groups = [];
fetch(url)
.then((response) => {
if (response.status === 200) {
return response.json();
}
throw new Error(`Meh, error! Status ${response.status}`);
})
.then((groups) => {
this.groups = groups;
})
.catch((error) => {
this.error = error;
});
},
removeGroup(groupId) {
const url = `http://localhost:3000/groups/${groupId}`;
fetch(url, {
method: 'DELETE',
})
.then(() => {
this.groups = [];
this.fetchGroups();
})
.catch((error) => {
this.error = error;
});
},
Add() {
const inputName = document.getElementById('groepnaam');
const group = { id: this.groups.length + 1, name: inputName.value };
if (inputName.value === '') {
window.alert('Vul een naam in!');
} else {
fetch('http://localhost:3000/groups',
{
method: 'POST',
body: JSON.stringify(group),
headers: {
'Content-Type': 'application/json',
},
})
.then(() => {
this.groups = [];
this.fetchGroups();
})
.then((response) => {
if (response.status === 201) {
return response.json();
}
throw new Error();
});
}
}
},
created() {
this.fetchGroups();
},
};
“底页导航片段”的代码是:
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;
import com.google.android.material.bottomappbar.BottomAppBar;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
public class NavigActivity extends AppCompatActivity {
private BottomAppBar mbottomAppBar;
private FloatingActionButton fab;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_navig);
mbottomAppBar = findViewById(R.id.bottom_app_bar);
setSupportActionBar(mbottomAppBar);
fab= findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Fragment fragment = new AddNewProductFragment();
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
ft.addToBackStack(null);
ft.replace(R.id.content_frame, fragment);
ft.commit();
}
});
mbottomAppBar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Fragment fragment = null;
switch (item.getItemId())
{
case R.id.home:
fragment = new HomeFragment();
break;
case R.id.notification:
fragment = new NotificationFragment();
break;
case R.id.my_invoices:
fragment = new InvoiceFragment();
break;
}
if(fragment != null)
{
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
ft.replace(R.id.content_frame, fragment);
ft.commit();
}
return false;
}
});
mbottomAppBar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//open bottom sheet
BottomSheetDialogFragment bottomSheetDialogFragment = BottomSheetNavigationFragment.newInstance();
bottomSheetDialogFragment.show(getSupportFragmentManager(), "Bottom Sheet Dialog Fragment");
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.menu,menu);
return true;
}
}
我无法理解如何将屏幕从此移至其他片段-因为getSupportFragmentManager()在此中不可用。当我尝试生成意图时,会引发错误。
任何建议或帮助都将受到赞赏。谢谢!
答案 0 :(得分:0)
您可以使用可变活动。像这样在附件片段时声明它:
private AppCompatActivity activity;
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
if (context instanceof AppCompatActivity) {
activity = (AppCompatActivity) context;
}
}
以及
之后/.../
activity.getSupportFragmentManager /...some logic.../