如何允许 Android 片段出错?
How to allow error on Android Fragment?
我的代码有错误,为什么会发生?
发生错误:
- setContentView(R.layout.activity_main_menuangkot);
- String[] array_angkot = getResources().getStringArray(R.array.array_angkot);
- listView = (ListView) findViewById(R.id.list_angkot);
- editSearch = (EditText) findViewById(R.id.editSearch);
- adapter = new ArrayAdapter(这个, R.layout.list_angkot,
R.id.text_nama, array_angkot);
她的错误是 The method setContentView(int) is undefined for the type HomeFragment, The constructor ArrayAdapter(HomeFragment, int, int, String[]) is undefined
请帮助我...
HomeFragment.java
public class HomeFragment extends Fragment {
private ListView listView;
private ArrayAdapter<String> adapter;
private EditText editSearch;
ArrayList<HashMap<String, String>> listNama;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// dapatkan data string array dari XML
String[] array_angkot = getResources().getStringArray(R.array.array_angkot);
// deklarasi object listview & edittext dengan layout xml
listView = (ListView) findViewById(R.id.list_angkot);
editSearch = (EditText) findViewById(R.id.editSearch);
// instansiasi arrayadapter dengan parameter (context,resource,textview
// resource,array string)
adapter = new ArrayAdapter<String>(this, R.layout.list_angkot,
R.id.text_nama, array_angkot);
方法 setContentView
用于 Activity
派生的 类。在开发 Fragment
时,您永远不会调用 setContentView
(如错误消息所述,该方法在 Fragment
中未定义)。相反,您覆盖 onCreateView
和 return 将用于 Fragment
的视图层次结构的根。正如@skywall 建议的那样,您应该阅读有关如何创建 Fragment
的文档(包括如何将其添加到 Activity
)。从 Guide topic on Fragments
. You should also consult the documentation for the Fragment
class 开始,其中包括 Fragment
生命周期的描述以及您可能需要重写的方法。
然后您需要重新组织您的代码,以便设置您现在在 onCreate
中拥有的视图的过程发生在 onCreateView
。
我的代码有错误,为什么会发生? 发生错误:
- setContentView(R.layout.activity_main_menuangkot);
- String[] array_angkot = getResources().getStringArray(R.array.array_angkot);
- listView = (ListView) findViewById(R.id.list_angkot);
- editSearch = (EditText) findViewById(R.id.editSearch);
- adapter = new ArrayAdapter(这个, R.layout.list_angkot, R.id.text_nama, array_angkot);
她的错误是 The method setContentView(int) is undefined for the type HomeFragment, The constructor ArrayAdapter(HomeFragment, int, int, String[]) is undefined
请帮助我...
HomeFragment.java
public class HomeFragment extends Fragment {
private ListView listView;
private ArrayAdapter<String> adapter;
private EditText editSearch;
ArrayList<HashMap<String, String>> listNama;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// dapatkan data string array dari XML
String[] array_angkot = getResources().getStringArray(R.array.array_angkot);
// deklarasi object listview & edittext dengan layout xml
listView = (ListView) findViewById(R.id.list_angkot);
editSearch = (EditText) findViewById(R.id.editSearch);
// instansiasi arrayadapter dengan parameter (context,resource,textview
// resource,array string)
adapter = new ArrayAdapter<String>(this, R.layout.list_angkot,
R.id.text_nama, array_angkot);
方法 setContentView
用于 Activity
派生的 类。在开发 Fragment
时,您永远不会调用 setContentView
(如错误消息所述,该方法在 Fragment
中未定义)。相反,您覆盖 onCreateView
和 return 将用于 Fragment
的视图层次结构的根。正如@skywall 建议的那样,您应该阅读有关如何创建 Fragment
的文档(包括如何将其添加到 Activity
)。从 Guide topic on Fragments
. You should also consult the documentation for the Fragment
class 开始,其中包括 Fragment
生命周期的描述以及您可能需要重写的方法。
然后您需要重新组织您的代码,以便设置您现在在 onCreate
中拥有的视图的过程发生在 onCreateView
。