我想使用actionbar sherlock片段显示一个简单的列表。以下代码是程序的一部分,当用户单击选项卡时将执行该代码。当在acitivity中使用时,代码工作正常。并且忽略json部分。
Code for FragmentTab2.java
package com.androidbegin.absviewpagertutorial;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.AdapterView.OnItemClickListener;
import com.actionbarsherlock.app.SherlockFragment;
import com.actionbarsherlock.app.SherlockFragmentActivity;
public class FragmentTab2 extends SherlockFragment {
@Override
public SherlockFragmentActivity getSherlockActivity() {
return super.getSherlockActivity();
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Get the view from fragmenttab2.xml
View view = inflater.inflate(R.layout.listview, container, false);
initList();
ListView listView = (ListView) view.findViewById(R.id.listView1);
SimpleAdapter simpleAdapter = new SimpleAdapter(FragmentTab2.this.getActivity(), employeeList, android.R.layout.simple_list_item_1, new String[] {"employees"}, new int[] {android.R.id.text1});
listView.setAdapter(simpleAdapter);
//Intent intent = new Intent(FragmentTab2.this.getActivity(), Favourites.class);
//startActivity(intent);
return view;
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
setUserVisibleHint(true);
}
List<Map<String,String>> employeeList = new ArrayList<Map<String,String>>();
private void initList(){
/* Intent intent = getIntent();
final String result = intent.getExtras().getString("newresult");//final so that variable can be used in onclick method
try{
// returnString = "";
JSONArray jArray = new JSONArray(result);
for(int i=0;i<jArray.length();i++){
JSONObject json_data = jArray.getJSONObject(i);
String name=json_data.getString("name");
String department=json_data.getString("department");
String role=json_data.getString("role");
String designation=json_data.getString("designation");
String email=json_data.getString("email");
String interest=json_data.getString("interest");
String photos=json_data.getString("photos");
String outPut = name + "-" +department + "-" +role + "-" +designation +"-" +email +"-" +interest +"-" +photos;
employeeList.add(createEmployee("employees", outPut));
}}
catch(JSONException e){
Log.e("log_tag", "Error parsing data "+e.toString());
}*/
String name="ram";
String department="sdf";
String role="sfdag";
String designation="fsdg";
String email="gsad";
String interest="ahgs";
String photos="gsa";
String outPut = name + "-" +department + "-" +role + "-" +designation +"-" +email +"-" +interest +"-" +photos;
employeeList.add(createEmployee("employees", outPut));
ListView lv = (ListView) getView().findViewById(R.id.listView1);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
/* try{
//passing jsondata to result page
JSONArray jArray = new JSONArray(result);
JSONObject json_data = jArray.getJSONObject((int) id);
Intent obj_intent = new Intent(AdvancedSearch.this, Result.class);
Bundle b = new Bundle();
b.putString("jsonobject",json_data.toString());
obj_intent.putExtras(b);
startActivity(obj_intent);
}
catch(JSONException e){
Log.e("log_tag", "Error parsing data "+e.toString());
}*/
}
});
}
private HashMap<String, String>createEmployee(String name,String department){
HashMap<String, String> employeeNameNo = new HashMap<String, String>();
employeeNameNo.put(name,department);
return employeeNameNo;
}
}
logcat:
01-11 10:51:20.641: I/dalvikvm(362): Could not find method com.actionbarsherlock.internal.nineoldandroids.widget.NineFrameLayout.onHoverEvent, referenced from method com.actionbarsherlock.internal.widget.ActionBarContainer.onHoverEvent
01-11 10:51:20.641: W/dalvikvm(362): VFY: unable to resolve virtual method 4293: Lcom/actionbarsherlock/internal/nineoldandroids/widget/NineFrameLayout;.onHoverEvent (Landroid/view/MotionEvent;)Z
01-11 10:51:20.652: D/dalvikvm(362): VFY: replacing opcode 0x6f at 0x0000
01-11 10:51:20.652: D/dalvikvm(362): VFY: dead code 0x0003-0004 in Lcom/actionbarsherlock/internal/widget/ActionBarContainer;.onHoverEvent (Landroid/view/MotionEvent;)Z
01-11 10:51:20.681: I/dalvikvm(362): Could not find method android.widget.FrameLayout.getAlpha, referenced from method com.actionbarsherlock.internal.nineoldandroids.widget.NineFrameLayout.getAlpha
01-11 10:51:20.681: W/dalvikvm(362): VFY: unable to resolve virtual method 3039: Landroid/widget/FrameLayout;.getAlpha ()F
01-11 10:51:20.681: D/dalvikvm(362): VFY: replacing opcode 0x6f at 0x000b
01-11 10:51:20.681: D/dalvikvm(362): VFY: dead code 0x000e-000f in Lcom/actionbarsherlock/internal/nineoldandroids/widget/NineFrameLayout;.getAlpha ()F
01-11 10:51:20.681: I/dalvikvm(362): Could not find method android.widget.FrameLayout.getTranslationY, referenced from method com.actionbarsherlock.internal.nineoldandroids.widget.NineFrameLayout.getTranslationY
01-11 10:51:20.681: W/dalvikvm(362): VFY: unable to resolve virtual method 3040: Landroid/widget/FrameLayout;.getTranslationY ()F
01-11 10:51:20.681: D/dalvikvm(362): VFY: replacing opcode 0x6f at 0x000b
01-11 10:51:20.681: D/dalvikvm(362): VFY: dead code 0x000e-000f in Lcom/actionbarsherlock/internal/nineoldandroids/widget/NineFrameLayout;.getTranslationY ()F
01-11 10:51:20.691: I/dalvikvm(362): Could not find method android.widget.FrameLayout.setAlpha, referenced from method com.actionbarsherlock.internal.nineoldandroids.widget.NineFrameLayout.setAlpha
01-11 10:51:20.691: W/dalvikvm(362): VFY: unable to resolve virtual method 3043: Landroid/widget/FrameLayout;.setAlpha (F)V
01-11 10:51:20.691: D/dalvikvm(362): VFY: replacing opcode 0x6f at 0x000a
01-11 10:51:20.691: D/dalvikvm(362): VFY: dead code 0x000d-000d in Lcom/actionbarsherlock/internal/nineoldandroids/widget/NineFrameLayout;.setAlpha (F)V
01-11 10:51:20.691: I/dalvikvm(362): Could not find method android.widget.FrameLayout.setTranslationY, referenced from method com.actionbarsherlock.internal.nineoldandroids.widget.NineFrameLayout.setTranslationY
01-11 10:51:20.691: W/dalvikvm(362): VFY: unable to resolve virtual method 3050: Landroid/widget/FrameLayout;.setTranslationY (F)V
01-11 10:51:20.691: D/dalvikvm(362): VFY: replacing opcode 0x6f at 0x000a
01-11 10:51:20.691: D/dalvikvm(362): VFY: dead code 0x000d-000d in Lcom/actionbarsherlock/internal/nineoldandroids/widget/NineFrameLayout;.setTranslationY (F)V
01-11 10:51:20.791: I/dalvikvm(362): Could not find method android.content.pm.PackageManager.getActivityLogo, referenced from method com.actionbarsherlock.internal.widget.ActionBarView.<init>
01-11 10:51:20.791: W/dalvikvm(362): VFY: unable to resolve virtual method 296: Landroid/content/pm/PackageManager;.getActivityLogo (Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;
01-11 10:51:20.791: D/dalvikvm(362): VFY: replacing opcode 0x6e at 0x01d1
01-11 10:51:20.791: I/dalvikvm(362): Could not find method android.content.pm.ApplicationInfo.loadLogo, referenced from method com.actionbarsherlock.internal.widget.ActionBarView.<init>
01-11 10:51:20.791: W/dalvikvm(362): VFY: unable to resolve virtual method 292: Landroid/content/pm/ApplicationInfo;.loadLogo (Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
01-11 10:51:20.791: D/dalvikvm(362): VFY: replacing opcode 0x6e at 0x01df
01-11 10:51:20.821: D/dalvikvm(362): VFY: dead code 0x01d4-01d8 in Lcom/actionbarsherlock/internal/widget/ActionBarView;.<init> (Landroid/content/Context;Landroid/util/AttributeSet;)V
01-11 10:51:20.821: D/dalvikvm(362): VFY: dead code 0x01e2-01e8 in Lcom/actionbarsherlock/internal/widget/ActionBarView;.<init> (Landroid/content/Context;Landroid/util/AttributeSet;)V
01-11 10:51:20.931: I/dalvikvm(362): Could not find method android.view.ViewGroup.getAlpha, referenced from method com.actionbarsherlock.internal.nineoldandroids.view.NineViewGroup.getAlpha
01-11 10:51:20.931: W/dalvikvm(362): VFY: unable to resolve virtual method 2796: Landroid/view/ViewGroup;.getAlpha ()F
01-11 10:51:20.931: D/dalvikvm(362): VFY: replacing opcode 0x6f at 0x000b
01-11 10:51:20.931: D/dalvikvm(362): VFY: dead code 0x000e-000f in Lcom/actionbarsherlock/internal/nineoldandroids/view/NineViewGroup;.getAlpha ()F
01-11 10:51:20.941: I/dalvikvm(362): Could not find method android.view.ViewGroup.getTranslationX, referenced from method com.actionbarsherlock.internal.nineoldandroids.view.NineViewGroup.getTranslationX
01-11 10:51:20.941: W/dalvikvm(362): VFY: unable to resolve virtual method 2801: Landroid/view/ViewGroup;.getTranslationX ()F
01-11 10:51:20.941: D/dalvikvm(362): VFY: replacing opcode 0x6f at 0x000b
01-11 10:51:20.941: D/dalvikvm(362): VFY: dead code 0x000e-000f in Lcom/actionbarsherlock/internal/nineoldandroids/view/NineViewGroup;.getTranslationX ()F
01-11 10:51:20.941: I/dalvikvm(362): Could not find method android.view.ViewGroup.getTranslationY, referenced from method com.actionbarsherlock.internal.nineoldandroids.view.NineViewGroup.getTranslationY
01-11 10:51:20.941: W/dalvikvm(362): VFY: unable to resolve virtual method 2802: Landroid/view/ViewGroup;.getTranslationY ()F
01-11 10:51:20.941: D/dalvikvm(362): VFY: replacing opcode 0x6f at 0x000b
01-11 10:51:20.941: D/dalvikvm(362): VFY: dead code 0x000e-000f in Lcom/actionbarsherlock/internal/nineoldandroids/view/NineViewGroup;.getTranslationY ()F
01-11 10:51:20.967: I/dalvikvm(362): Could not find method android.view.ViewGroup.setAlpha, referenced from method com.actionbarsherlock.internal.nineoldandroids.view.NineViewGroup.setAlpha
01-11 10:51:20.967: W/dalvikvm(362): VFY: unable to resolve virtual method 2817: Landroid/view/ViewGroup;.setAlpha (F)V
01-11 10:51:20.971: D/dalvikvm(362): VFY: replacing opcode 0x6f at 0x000a
01-11 10:51:20.971: D/dalvikvm(362): VFY: dead code 0x000d-000d in Lcom/actionbarsherlock/internal/nineoldandroids/view/NineViewGroup;.setAlpha (F)V
01-11 10:51:20.971: I/dalvikvm(362): Could not find method android.view.ViewGroup.setTranslationX, referenced from method com.actionbarsherlock.internal.nineoldandroids.view.NineViewGroup.setTranslationX
01-11 10:51:20.971: W/dalvikvm(362): VFY: unable to resolve virtual method 2821: Landroid/view/ViewGroup;.setTranslationX (F)V
01-11 10:51:20.993: D/dalvikvm(362): VFY: replacing opcode 0x6f at 0x000a
01-11 10:51:20.993: D/dalvikvm(362): VFY: dead code 0x000d-000d in Lcom/actionbarsherlock/internal/nineoldandroids/view/NineViewGroup;.setTranslationX (F)V
01-11 10:51:20.993: I/dalvikvm(362): Could not find method android.view.ViewGroup.setTranslationY, referenced from method com.actionbarsherlock.internal.nineoldandroids.view.NineViewGroup.setTranslationY
01-11 10:51:20.993: W/dalvikvm(362): VFY: unable to resolve virtual method 2822: Landroid/view/ViewGroup;.setTranslationY (F)V
01-11 10:51:20.993: D/dalvikvm(362): VFY: replacing opcode 0x6f at 0x000a
01-11 10:51:20.993: D/dalvikvm(362): VFY: dead code 0x000d-000d in Lcom/actionbarsherlock/internal/nineoldandroids/view/NineViewGroup;.setTranslationY (F)V
01-11 10:51:21.041: I/dalvikvm(362): Could not find method com.actionbarsherlock.internal.widget.ActionBarView$HomeView.onHoverEvent, referenced from method com.actionbarsherlock.internal.widget.ActionBarView$HomeView.dispatchHoverEvent
01-11 10:51:21.053: W/dalvikvm(362): VFY: unable to resolve virtual method 5154: Lcom/actionbarsherlock/internal/widget/ActionBarView$HomeView;.onHoverEvent (Landroid/view/MotionEvent;)Z
01-11 10:51:21.053: D/dalvikvm(362): VFY: replacing opcode 0x6e at 0x0000
01-11 10:51:21.053: D/dalvikvm(362): VFY: dead code 0x0003-0004 in Lcom/actionbarsherlock/internal/widget/ActionBarView$HomeView;.dispatchHoverEvent (Landroid/view/MotionEvent;)Z
01-11 10:51:21.053: I/dalvikvm(362): Could not find method android.widget.FrameLayout.onPopulateAccessibilityEvent, referenced from method com.actionbarsherlock.internal.widget.ActionBarView$HomeView.onPopulateAccessibilityEvent
01-11 10:51:21.053: W/dalvikvm(362): VFY: unable to resolve virtual method 3042: Landroid/widget/FrameLayout;.onPopulateAccessibilityEvent (Landroid/view/accessibility/AccessibilityEvent;)V
01-11 10:51:21.061: D/dalvikvm(362): VFY: replacing opcode 0x6f at 0x0006
01-11 10:51:21.171: I/dalvikvm(362): Could not find method android.widget.HorizontalScrollView.getAlpha, referenced from method com.actionbarsherlock.internal.nineoldandroids.widget.NineHorizontalScrollView.getAlpha
01-11 10:51:21.171: W/dalvikvm(362): VFY: unable to resolve virtual method 3053: Landroid/widget/HorizontalScrollView;.getAlpha ()F
01-11 10:51:21.171: D/dalvikvm(362): VFY: replacing opcode 0x6f at 0x000b
01-11 10:51:21.181: D/dalvikvm(362): VFY: dead code 0x000e-000f in Lcom/actionbarsherlock/internal/nineoldandroids/widget/NineHorizontalScrollView;.getAlpha ()F
01-11 10:51:21.181: I/dalvikvm(362): Could not find method android.widget.HorizontalScrollView.setAlpha, referenced from method com.actionbarsherlock.internal.nineoldandroids.widget.NineHorizontalScrollView.setAlpha
01-11 10:51:21.181: W/dalvikvm(362): VFY: unable to resolve virtual method 3054: Landroid/widget/HorizontalScrollView;.setAlpha (F)V
01-11 10:51:21.181: D/dalvikvm(362): VFY: replacing opcode 0x6f at 0x000a
01-11 10:51:21.181: D/dalvikvm(362): VFY: dead code 0x000d-000d in Lcom/actionbarsherlock/internal/nineoldandroids/widget/NineHorizontalScrollView;.setAlpha (F)V
01-11 10:51:21.221: I/dalvikvm(362): Could not find method android.widget.LinearLayout.getAlpha, referenced from method com.actionbarsherlock.internal.nineoldandroids.widget.NineLinearLayout.getAlpha
01-11 10:51:21.221: W/dalvikvm(362): VFY: unable to resolve virtual method 3093: Landroid/widget/LinearLayout;.getAlpha ()F
01-11 10:51:21.221: D/dalvikvm(362): VFY: replacing opcode 0x6f at 0x000b
01-11 10:51:21.221: D/dalvikvm(362): VFY: dead code 0x000e-000f in Lcom/actionbarsherlock/internal/nineoldandroids/widget/NineLinearLayout;.getAlpha ()F
01-11 10:51:21.221: I/dalvikvm(362): Could not find method android.widget.LinearLayout.getTranslationX, referenced from method com.actionbarsherlock.internal.nineoldandroids.widget.NineLinearLayout.getTranslationX
01-11 10:51:21.221: W/dalvikvm(362): VFY: unable to resolve virtual method 3096: Landroid/widget/LinearLayout;.getTranslationX ()F
01-11 10:51:21.221: D/dalvikvm(362): VFY: replacing opcode 0x6f at 0x000b
01-11 10:51:21.221: D/dalvikvm(362): VFY: dead code 0x000e-000f in Lcom/actionbarsherlock/internal/nineoldandroids/widget/NineLinearLayout;.getTranslationX ()F
01-11 10:51:21.221: I/dalvikvm(362): Could not find method android.widget.LinearLayout.setAlpha, referenced from method com.actionbarsherlock.internal.nineoldandroids.widget.NineLinearLayout.setAlpha
01-11 10:51:21.221: W/dalvikvm(362): VFY: unable to resolve virtual method 3108: Landroid/widget/LinearLayout;.setAlpha (F)V
01-11 10:51:21.221: D/dalvikvm(362): VFY: replacing opcode 0x6f at 0x000a
01-11 10:51:21.231: D/dalvikvm(362): VFY: dead code 0x000d-000d in Lcom/actionbarsherlock/internal/nineoldandroids/widget/NineLinearLayout;.setAlpha (F)V
01-11 10:51:21.231: I/dalvikvm(362): Could not find method android.widget.LinearLayout.setTranslationX, referenced from method com.actionbarsherlock.internal.nineoldandroids.widget.NineLinearLayout.setTranslationX
01-11 10:51:21.231: W/dalvikvm(362): VFY: unable to resolve virtual method 3114: Landroid/widget/LinearLayout;.setTranslationX (F)V
01-11 10:51:21.241: D/dalvikvm(362): VFY: replacing opcode 0x6f at 0x000a
01-11 10:51:21.241: D/dalvikvm(362): VFY: dead code 0x000d-000d in Lcom/actionbarsherlock/internal/nineoldandroids/widget/NineLinearLayout;.setTranslationX (F)V
01-11 10:51:21.341: D/dalvikvm(362): DexOpt: couldn't find static field
01-11 10:51:21.341: W/dalvikvm(362): VFY: unable to resolve static field 3037 (ROOT) in Ljava/util/Locale;
01-11 10:51:21.341: D/dalvikvm(362): VFY: replacing opcode 0x62 at 0x0012
01-11 10:51:21.352: D/dalvikvm(362): VFY: dead code 0x0014-001a in Lcom/actionbarsherlock/internal/widget/CapitalizingTextView;.setTextCompat (Ljava/lang/CharSequence;)V
01-11 10:51:21.571: D/AndroidRuntime(362): Shutting down VM
01-11 10:51:21.571: W/dalvikvm(362): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
01-11 10:51:21.681: D/dalvikvm(362): GC_FOR_MALLOC freed 3374 objects / 253840 bytes in 93ms
01-11 10:51:21.681: E/AndroidRuntime(362): FATAL EXCEPTION: main
01-11 10:51:21.681: E/AndroidRuntime(362): java.lang.NullPointerException
01-11 10:51:21.681: E/AndroidRuntime(362): at com.androidbegin.absviewpagertutorial.FragmentTab2.initList(FragmentTab2.java:103)
01-11 10:51:21.681: E/AndroidRuntime(362): at com.androidbegin.absviewpagertutorial.FragmentTab2.onCreateView(FragmentTab2.java:44)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:870)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1080)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:622)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1416)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:431)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:139)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.support.v4.view.ViewPager.populate(ViewPager.java:804)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1016)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.view.View.measure(View.java:8171)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:696)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.widget.LinearLayout.onMeasure(LinearLayout.java:306)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.view.View.measure(View.java:8171)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.view.View.measure(View.java:8171)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.widget.LinearLayout.measureVertical(LinearLayout.java:526)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.view.View.measure(View.java:8171)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.view.View.measure(View.java:8171)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.view.View.measure(View.java:8171)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.view.ViewRoot.performTraversals(ViewRoot.java:801)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.os.Handler.dispatchMessage(Handler.java:99)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.os.Looper.loop(Looper.java:123)
01-11 10:51:21.681: E/AndroidRuntime(362): at android.app.ActivityThread.main(ActivityThread.java:4627)
01-11 10:51:21.681: E/AndroidRuntime(362): at java.lang.reflect.Method.invokeNative(Native Method)
01-11 10:51:21.681: E/AndroidRuntime(362): at java.lang.reflect.Method.invoke(Method.java:521)
01-11 10:51:21.681: E/AndroidRuntime(362): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
01-11 10:51:21.681: E/AndroidRuntime(362): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
01-11 10:51:21.681: E/AndroidRuntime(362): at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:0)
试试这个。
在调用该函数之前,将ListView lv;
更改为全局初始化ListView
。
ListView lv;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Get the view from fragmenttab2.xml
View view = inflater.inflate(R.layout.listview, container, false);
lv = (ListView) view.findViewById(R.id.listView1);
initList();
SimpleAdapter simpleAdapter = new SimpleAdapter(FragmentTab2.this.getActivity(), employeeList, android.R.layout.simple_list_item_1, new String[] {"employees"}, new int[] {android.R.id.text1});
lv.setAdapter(simpleAdapter);
//Intent intent = new Intent(FragmentTab2.this.getActivity(), Favourites.class);
//startActivity(intent);
return view;
}
和initList()
内部功能删除ListView lv = (ListView) getView().findViewById(R.id.listView1);
答案 1 :(得分:0)
对于片段,getView()
方法返回null
,直到返回onCreateView()
方法。在onCreateView()
方法中,您正在调用initList()
,其中您正在调用getView()
方法,该方法返回null
。
尝试将ListView
作为参数传递给initList()
...我稍微修剪了一下代码......
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Get the view from fragmenttab2.xml
View view = inflater.inflate(R.layout.listview, container, false);
ListView listView = (ListView) view.findViewById(R.id.listView1);
initList(listView);
SimpleAdapter simpleAdapter = new SimpleAdapter(
FragmentTab2.this.getActivity(), employeeList,
android.R.layout.simple_list_item_1,
new String[] { "employees" }, new int[] { android.R.id.text1 });
listView.setAdapter(simpleAdapter);
// Intent intent = new Intent(FragmentTab2.this.getActivity(),
// Favourites.class);
// startActivity(intent);
return view;
}
private void initList(ListView listView) {
String name = "ram";
String department = "sdf";
String role = "sfdag";
String designation = "fsdg";
String email = "gsad";
String interest = "ahgs";
String photos = "gsa";
String outPut = name + "-" + department + "-" + role + "-"
+ designation + "-" + email + "-" + interest + "-" + photos;
employeeList.add(createEmployee("employees", outPut));
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
}
});
}