我試圖以自定義列表視圖這是工作的罰款,現在我已經customclass從baseAdapter這部分getView方法擴展我在imageview的應用onclickListener和啓動這個崩潰的應用程序 代碼新的活動未能在類中的StartActivity從Android的BaseAdapter擴展?
public class CustomAdapterClass extends BaseAdapter
{
ArrayList<FatwaBean> fatwaArrayList;
Context context;
CustomAdapterClass(ArrayList<FatwaBean> data,Context c) {
fatwaArrayList = data;
context = c;
}
public int getCount() {
// TODO Auto-generated method stub
return fatwaArrayList.size();
}
public Object getItem(int position) {
// TODO Auto-generated method stub
return fatwaArrayList.get(position);
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View v = convertView;
if (v == null)
{
LayoutInflater vi = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.search_fatwa_row, null);
}
final ImageView image = (ImageView) v.findViewById(R.id.search_image_row);
TextView dateTextView = (TextView)v.findViewById(R.id.search_date_row);
FatwaBean fatwaBean= fatwaArrayList.get(position);
//image.setImageResource(fatwaBean.getQuestionImage());
image.setImageResource(R.drawable.app_icon);
//image.setTag(fatwaBean.getFatwaTopicQuestionId());
dateTextView.setText(fatwaBean.getFatwaDate());
Log.i("fatwaBean",""+fatwaBean.getFatwaDate());
Log.i("fatwaBean",""+fatwaBean.getFatwaImageName());
Log.i("fatwaBean Topic Question Image Name",""+fatwaBean.getQuestionImage());
image.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
final int itemname= (int)fatwaArrayList.get(position).getFatwaTopicQuestionId();
Log.i("clicked Fatwa Image Topic Id",""+fatwaArrayList.get(position).getFatwaTopicQuestionId());
Intent intent = new Intent(context,FatwaZoomActivityImageView.class);
//passing fatwa topic question Id to get FatwaImage in NextActivity
intent.putExtra("questionTopicIdForFatwa",fatwaArrayList.get(position).getFatwaTopicQuestionId());
intent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
context.startActivity(intent);
}
});
return v;
}
logcat的:
02-19 22:02:05.220: E/AndroidRuntime(578): FATAL EXCEPTION: main
02-19 22:02:05.220: E/AndroidRuntime(578): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
02-19 22:02:05.220: E/AndroidRuntime(578): at android.app.ContextImpl.startActivity(ContextImpl.java:803)
02-19 22:02:05.220: E/AndroidRuntime(578): at android.content.ContextWrapper.startActivity(ContextWrapper.java:276)
02-19 22:02:05.220: E/AndroidRuntime(578): at com.jamia.binoria.CustomAdapterClass$1.onClick(CustomAdapterClass.java:73)
02-19 22:02:05.220: E/AndroidRuntime(578): at android.view.View.performClick(View.java:3100)
02-19 22:02:05.220: E/AndroidRuntime(578): at android.view.View$PerformClick.run(View.java:11644)
02-19 22:02:05.220: E/AndroidRuntime(578): at android.os.Handler.handleCallback(Handler.java:587)
02-19 22:02:05.220: E/AndroidRuntime(578): at android.os.Handler.dispatchMessage(Handler.java:92)
02-19 22:02:05.220: E/AndroidRuntime(578): at android.os.Looper.loop(Looper.java:126)
02-19 22:02:05.220: E/AndroidRuntime(578): at android.app.ActivityThread.main(ActivityThread.java:3997)
02-19 22:02:05.220: E/AndroidRuntime(578): at java.lang.reflect.Method.invokeNative(Native Method)
02-19 22:02:05.220: E/AndroidRuntime(578): at java.lang.reflect.Method.invoke(Method.java:491)
02-19 22:02:05.220: E/AndroidRuntime(578): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
02-19 22:02:05.220: E/AndroidRuntime(578): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
02-19 22:02:05.220: E/AndroidRuntime(578): at dalvik.system.NativeStart.main(Native Method)
如何初始化適配器類中的上下文? – Merlevede
您嘗試過使用 Intent intent = new Intent(context.getApplicationContext(),FatwaZoomActivityImageView。類); – soynerdito
@Merlevede我從那裏的活動調用適配器類我傳遞上下文並初始化它在適配器類 – user3233280