将List / GridView添加到片段

时间:2014-02-24 13:29:02

标签: android listview gridview fragment

我有一个基本上只是网格视图的应用程序,你单击其中一个网格并加载一条消息。

我正在寻找更新应用程序。我想添加一个菜单,并将其更改为片段(一个用于菜单(ListView),一个用于内容(ListView或GridView,具体取决于选择的菜单选项)。)

是否可以保留我当前的GridView代码并为Menu / Main创建新类(包括它们的布局),然后使用我当前的GridView代码在单击相关菜单选项时填充Content部分?< / p>

我已经看了几个教程,但到目前为止,我没有太多运气。我不是很想知道该怎么做,只是寻找一些建议和帮助(链接等)所以我可以学习并更新我的应用

1 个答案:

答案 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

这只是一个想法并不是确切的答案。谢谢