自定义ListView菜单的基本活动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义ListView菜单的基本活动相关的知识,希望对你有一定的参考价值。

我是android编程的新手。我正在开发一个有多个活动的应用程序。我用ListView创建了一个自定义菜单。我想将此菜单放在基本活动中,以便在所有活动中使用。我该怎么做?

直到现在,我有这样的事情:

这是用于切换菜单的按钮

menuToggelIcon.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View view) {
    // Hide layouts if VISIBLE
    if(menuLayout.getVisibility() == View.VISIBLE)
    {
      menuLayout.setVisibility(View.GONE);
    }
    // Show layouts if they're not VISIBLE
    else
    {
      menuLayout.setVisibility(View.VISIBLE);
    }
  }
});

这是菜单

menuListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    String name = menuArray[position];

    Context context = getApplicationContext();

    switch (name) {
      case "CASE1":
        Intent case1Intent = new Intent(context, Activity1.class);
        startActivity(case1Intent);
        break;
      case "CASE2":
        Intent case2Intent = new Intent(context, Activity2.class);
        startActivity(case2Intent);
        break;
      case "CASE3":
        Intent case3Intent = new Intent(context, Activity3.class);
        startActivity(case3Intent);
        break;
      case "CASE4":
        Intent case4Intent = new Intent(context, Activity4.class);
        startActivity(case4Intent);
        break;
      case "CASE5":
        Intent case5Intent = new Intent(context, Activity5.class);
        startActivity(case5Intent);
        break;
      case "CASE6":
        Intent case6Intent = new Intent(context, Activity6.class);
        startActivity(case6Intent);
        break;
      case "CASE7":
        Intent case7Intent = new Intent(context, Activity7.class);
        startActivity(case7Intent);
        break;
      default:
        break;
    }
  }
});

Android custom menu

答案

制作一个BaseActivity类,所有活动都由BasyActivity类扩展。 BaseActivity类定义显示所有屏幕的主要内容,如菜单和其他内容。例如

public class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    getMenuInflater().inflate(R.menu.manu_file_name, menu);


    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == R.id.icon) {
        Toast.makeText(getApplicationContext(), "Hello World", 0).show();
    }
    return super.onOptionsItemSelected(item);
}

}

此活动扩展了所有其他活动。

以上是关于自定义ListView菜单的基本活动的主要内容,如果未能解决你的问题,请参考以下文章

片段中ListView的android自定义适配器

如何从片段返回主要活动

未创建 Android listview 内容视图

带有复选框和自定义适配器的 ListView,片段无法正常工作

自定义 ListView 中的弹出菜单

片段中 ListView 的自定义适配器不起作用