2016-11-26 50 views
0

我有一個用戶信息列表,其中包含每個列表行中的名稱,地址和按鈕。點擊一行中的按鈕,它應該導航到另一個活動。沒有錯誤。但應用程序崩潰。 我在打印onclick中的值(名稱和地址)時沒有問題。問題只在於開始活動。使用Viewholder在列表視圖中使用onclick按鈕開始活動

public View getView(final int position, View convertView, ViewGroup parent) { 

    ViewHolder holder = null; 
    LayoutInflater inflater = (LayoutInflater) activity 
      .getSystemService(Activity.LAYOUT_INFLATER_SERVICE); 

    if (convertView == null) { 

     convertView = inflater.inflate(R.layout.list_friends, parent, false); 
     holder = new ViewHolder(convertView); 
     convertView.setTag(holder); 
    } else { 

     holder = (ViewHolder) convertView.getTag(); 
    } 
    final Userinfo userinf = userinf.get(position); 
    holder.button = (Button) convertView.findViewById(R.id.button); 
    holder.button.setTag(position); 
    holder.button.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 

      System.out.println(position); 
      System.out.println(userinf.getName()); 
      System.out.println(userinf.getAddress()); 

      Intent i=new Intent(mContext,Details.class); 
      mContext.startActivity(i); 
     } 
    }); 

    return convertView; 
} 

錯誤日誌:

E/AndroidRuntime: FATAL EXCEPTION: main 
       Process: com.example.user, PID: 13057 
       java.lang.NullPointerException: Attempt to invoke virtual  method 'java.lang.String android.content.Context.getPackageName()' on a null object reference 
        at android.content.ComponentName.<init>(ComponentName.java:128) 
        at android.content.Intent.<init>(Intent.java:5328) 
        at com.example.appko.user.Listviewadapter$1.onClick(Listviewadapter.java:84) 
        at android.view.View.performClick(View.java:5721) 
        at android.widget.TextView.performClick(TextView.java:10931) 
        at android.view.View$PerformClick.run(View.java:22620) 
        at android.os.Handler.handleCallback(Handler.java:739) 
        at android.os.Handler.dispatchMessage(Handler.java:95) 
        at android.os.Looper.loop(Looper.java:148) 
        at android.app.ActivityThread.main(ActivityThread.java:7409) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 

列表視圖適配器線84

 Intent i=new Intent(mContext,Details.class); 

Details.class只是測試類打印喜在TextView中

+0

請在這裏發表您的錯誤日誌。所以,我們可以幫助更好。 –

+0

發佈您的完整適配器代碼和錯誤日誌 –

+0

沒有崩潰日誌無法找到錯誤。 請粘貼您的崩潰日誌。 –

回答

2

試試這個

0

您可能需要包括

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

如果你可以附加日誌,它會更容易識別

相關問題