我试图在我的项目中添加一个BottomNavigationView,但是当我运行该项目时却没有出现。
我想将其放在工具栏上,所以我创建了一个类来初始化它们并扩展AppCompatActivity,这样我使用工具栏或BottomNavigationView进行的活动就必须扩展该活动并调用方法初始化它(我不知道这是否是正确的方法,如果不正确,请告诉我)。因此,这可以与我的工具栏一起使用,但是我的BottomNavigationView没有显示。
这是我谈到的我的NavigationActivity:
public abstract class NavigationActivity extends AppCompatActivity {
private Toolbar mToolbar;
private BottomNavigationView mNavigationView;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
public void initNavigation(int navigationId) {
mNavigationView = (BottomNavigationView) findViewById(navigationId);
mNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
switch (menuItem.getItemId()) {
case R.id.navigation_entrainements:
startActivity(new Intent(getBaseContext(),MenuEntrainementsActivity.class));
break;
case R.id.navigation_nutrition:
startActivity(new Intent(getBaseContext(),NutritionActivity.class));
break;
case R.id.navigation_statistiques:
startActivity(new Intent(getBaseContext(),StatistiquesActivity.class));
break;
}
return true;
}
});
}
public void initToolbar(int toolbarId) {
mToolbar = (Toolbar) findViewById(toolbarId);
mToolbar.setNavigationIcon(R.drawable.baseline_arrow_back_black_18dp);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
mToolbar.setNavigationOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
finish();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu,menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.btnHome :
startActivity(new Intent(this,MainActivity.class));
return true;
case R.id.btnProfil :
startActivity(new Intent(this,ProfilActivity.class));
return true;
default :
return super.onOptionsItemSelected(item);
}
}
}
以及我在其他活动中如何使用它的一个例子:
initNavigation(R.id.navigation);
initToolbar(R.id.toolbar);
这是我在XML文件中实现BottomNavigationView的方式:
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="0dp"
android:layout_marginEnd="0dp"
android:background="?android:attr/windowBackground"
app:menu="@menu/navigation" />
如果您还需要其他任何内容,请问一下, 谢谢你的帮助 :) (对不起,如果我犯了错误,我的英语水平不是很好)
答案 0 :(得分:0)
我从onCreate方法之外使用它。
class SearchListView(ListView):
model = Post
template_name = "public/search.html"
success_url ='where you want to redirect'
def get_queryset(self): # method that returns the queryset is `get_queryset`
query = self.request.GET.get("q")
if query:
queryset = self.model.objects.filter(title__icontains=query) # double underscore not single
return queryset
def get_context_data(self, **kwargs):
context = super(SearchListView, self).get_context_data(**kwargs)
context['queryset'] = self.get_queryset()
context['category'] = Category.objects.all()
return context