このベース アダプターから新しいアクティビティを開始したいと考えています。
public class EfficientAdapter extends BaseAdapter {
private Activity activity;
private ArrayList<ComptePost> data;
private static LayoutInflater inflater = null;
public ImageLoader imageLoader;
public Boolean isActusAstuce;
public static int flag = 0, counter=0;
private Context context;
public EfficientAdapter(Context context) {
this.context = context;
}
NVirementEmmeteur main;
int num = 0;
ViewHolder holder;
static String src;
public EfficientAdapter(Activity a, ArrayList<ComptePost> d) {
activity = a;
data = d;
inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// imageLoader = new ImageLoader(activity.getApplicationContext());
imageLoader=new ImageLoader(activity.getApplicationContext());
}
public EfficientAdapter(NVirementEmmeteur m) {
main = m;
}
@Override
public int getCount() {
return data.toArray().length;
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
public static class ViewHolder {
public TextView one;
public TextView two;
public TextView three;
public ImageView image;
public RelativeLayout relative_layout;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View vi = convertView;
holder.relative_layout.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
v.getContext().startActivity(new Intent(context, NVirementEmmeteur.class));
}
});
return vi;
}
}
私は試した
context.startActivity(new Intent(context, NVirementEmmeteur.class));
と
v.getContext().startActivity(new Intent(context, NVirementEmmeteur.class));
しかし、それは私のアプリケーションを強制的に閉じます。
onclicklistener()
インテントはリスト アダプター内で起動する必要があります。誰かが私の effectiveadapter.class からインテントを起動する方法を教えてください。
これが私のlogcat出力です:
04-11 10:07:50.878: E/AndroidRuntime(11179): 致命的な例外: メイン 04-11 10:07:50.878: E/AndroidRuntime(11179): java.lang.NullPointerException 04-11 10:07:50.878: E/AndroidRuntime(11179): android.content.ComponentName.(ComponentName.java:75) 04-11 10:07:50.878: E/AndroidRuntime(11179): android.content.Intent.(Intent.java:2863) ) 04-11 10:07:50.878: E/AndroidRuntime(11179): at.adapter.EfficientAdapter$1.onClick(EfficientAdapter.java:141) 04-11 10:07:50.878: E/AndroidRuntime(11179): Android で.view.View.performClick(View.java:2538) 04-11 10:07:50.878: E/AndroidRuntime(11179): android.view.View$PerformClick.run(View.java:9152) 04-11 10 :07:50.878: E/AndroidRuntime(11179): android.os.Handler.handleCallback(Handler.java:587) 04-11 10:07:50.878: E/AndroidRuntime(11179): android.os.Handler で。 dispatchMessage(Handler.java:92) 04-11 10:07:50.878: E/AndroidRuntime(11179): android.os.Looper.loop(Looper.java:130) 04-11 10:07:50.878: E/AndroidRuntime(11179): at android.app.ActivityThread.main(ActivityThread.java:3687) 04-11 10:07:50.878: E/AndroidRuntime(11179): java.lang.reflect.Method.invokeNative(ネイティブ メソッド) 04-11 10:07 で:50.878: E/AndroidRuntime(11179): java.lang.reflect.Method.invoke(Method.java:507) 04-11 10:07:50.878: E/AndroidRuntime(11179): com.android.internal. os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842) 04-11 10:07:50.878: E/AndroidRuntime(11179): com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 04 -11 10:07:50.878: E/AndroidRuntime(11179): dalvik.system.NativeStart.main(ネイティブ メソッド) で878: E/AndroidRuntime(11179): android.app.ActivityThread.main(ActivityThread.java:3687) 04-11 10:07:50.878: E/AndroidRuntime(11179): java.lang.reflect.Method.invokeNative で(ネイティブメソッド) 04-11 10:07:50.878: E/AndroidRuntime(11179): java.lang.reflect.Method.invoke(Method.java:507) 04-11 10:07:50.878: E/AndroidRuntime( 11179): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842) 04-11 10:07:50.878: E/AndroidRuntime(11179): com.android.internal.os.ZygoteInit で.main (ZygoteInit.java:600) 04-11 10:07:50.878: E/AndroidRuntime (11179): dalvik.system.NativeStart.main (ネイティブ メソッド) で878: E/AndroidRuntime(11179): android.app.ActivityThread.main(ActivityThread.java:3687) 04-11 10:07:50.878: E/AndroidRuntime(11179): java.lang.reflect.Method.invokeNative で(ネイティブメソッド) 04-11 10:07:50.878: E/AndroidRuntime(11179): java.lang.reflect.Method.invoke(Method.java:507) 04-11 10:07:50.878: E/AndroidRuntime( 11179): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842) 04-11 10:07:50.878: E/AndroidRuntime(11179): com.android.internal.os.ZygoteInit で.main (ZygoteInit.java:600) 04-11 10:07:50.878: E/AndroidRuntime (11179): dalvik.system.NativeStart.main (ネイティブ メソッド) でE/AndroidRuntime(11179): java.lang.reflect.Method.invoke(Method.java:507) 04-11 10:07:50.878: E/AndroidRuntime(11179): com.android.internal.os.ZygoteInit で$MethodAndArgsCaller.run(ZygoteInit.java:842) 04-11 10:07:50.878: E/AndroidRuntime(11179): com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 04-11 10 :07:50.878: E/AndroidRuntime(11179): dalvik.system.NativeStart.main(ネイティブメソッド)E/AndroidRuntime(11179): java.lang.reflect.Method.invoke(Method.java:507) 04-11 10:07:50.878: E/AndroidRuntime(11179): com.android.internal.os.ZygoteInit で$MethodAndArgsCaller.run(ZygoteInit.java:842) 04-11 10:07:50.878: E/AndroidRuntime(11179): com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 04-11 10 :07:50.878: E/AndroidRuntime(11179): dalvik.system.NativeStart.main(ネイティブメソッド)