我有一个基本上只是网格视图的应用程序,你单击其中一个网格并加载一条消息。
我正在寻找更新应用程序。我想添加一个菜单,并将其更改为片段(一个用于菜单(ListView),一个用于内容(ListView或GridView,具体取决于选择的菜单选项)。)
是否可以保留我当前的GridView代码并为Menu / Main创建新类(包括它们的布局),然后使用我当前的GridView代码在单击相关菜单选项时填充Content部分?< / p>
我已经看了几个教程,但到目前为止,我没有太多运气。我不是很想知道该怎么做,只是寻找一些建议和帮助(链接等)所以我可以学习并更新我的应用
答案 0 :(得分:1)
这是可能的。它并不太难。我以前做过这件事。首先,您将在项目包中创建Java类和xml文件。听到是一个例子,我认为Thana
是你的java类,activity_tha
是xml文件。
public class Thana extends Fragment implements OnItemClickListener{
// your global variable goes hear.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.activity_tha, container, false);
// put you all code from old Activity class's onCreate() method .
// be careful this Fragmetn's onCreateView () returns a view object so look this
TextView headingThana = (TextView)rootView.findViewById(R.id.heading_thana);
// you always need a view reference to making any object of Widget from xml file.
return rootView;
}
// and other code goes hear as like as your old class
}
听到另一个重点,您将无法从Context context;
或this
获取您的应用程序参考,因此您需要将其全部替换为{{1} } 方法 。
像这样
getActivity()
listView.setAdapter(new CustomListViewAdapter(this, thanaInfoList, thanaMobileNumber));
替换为this
getActivity();
对于菜单项,您需要res / menu文件夹中的xml文件。像这样
listView.setAdapter(new CustomListViewAdapter(getActivity(), thanaInfoList, thanaMobileNumber));
<?xml version="1.0" encoding="utf-8"?>
现在在<item android:id="@+id/action_searchss"
android:title="action_searcheee"
android:showAsAction="always"
android:icon="@drawable/ic_launcher"
android:orderInCategory="1"
>
</item>
<item android:id="@+id/action_search"
android:title="action_search"
android:showAsAction="ifRoom"
android:icon="@drawable/ic_launcher"
android:orderInCategory="2"
>
</item>
方法中写下此inflater.inflate(R.menu.activity_main_actions, menu);
。 public boolean onCreateOptionsMenu(Menu menu)
是您在菜单文件夹中新创建的xml文件..........对于菜单选择,您可以覆盖此方法
activity_main_actions
这只是一个想法并不是确切的答案。谢谢