-1
这是feedlist适配器。当我从活动中调用该应用程序时,应用程序在Android 4.4上崩溃,但代码在5.0和更高版本上正常工作。请帮忙。一直试图解决这个问题大约一周,没有运气。此关联的应用程序崩溃 view.setOnClickListener(新View.OnClickListener(){Android应用程序崩溃时,我只在Android 4.4的ListView上使用FeedListAdapter
public class FeedListAdapter extends BaseAdapter {
private Activity activity;
private LayoutInflater inflater;
private List<FeedItem> feedItems;
private SharedPreferences mAdminPreferences;
public FeedListAdapter(Activity activity, List<FeedItem> feedItems) {
this.activity = activity;
this.feedItems = feedItems;
}
@Override
public int getCount() {
return feedItems.size();
}
@Override
public Object getItem(int location) {
return feedItems.get(location);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (inflater == null)
inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null)
convertView = inflater.inflate(R.layout.feed_item, null);
final TextView name = (TextView) convertView.findViewById(R.id.name);
final TextView projectid = (TextView) convertView.findViewById(R.id.project_id);
TextView timestamp = (TextView) convertView
.findViewById(R.id.timestamp);
final TextView statusMsg = (TextView) convertView
.findViewById(R.id.txtStatusMsg);
final TextView url = (TextView) convertView.findViewById(R.id.txtUrl);
// final TextView usertype = (TextView) convertView.findViewById(R.id.usertype);
FeedItem item = feedItems.get(position);
name.setText(item.getName());
projectid.setText(item.getId());
url.setText(item.getUrl());
final String userid = (item.getUserid());
final String story = (item.getStory());
final String coursename = (item.getCourseName());
final String courseduration = (item.getCourseDuration());
final String amount = (item.getAmount());
final String extradetails = (item.getExtraDetails());
final String videourl = (item.getVideoUrl());
final String school = (item.getSchool());
// My code to instantiate buttonclick and get name of item being clicked
View view = convertView.findViewById(R.id.layoutclick);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String namegotten = name.getText().toString();
String projectidgotten = projectid.getText().toString();
String msg = statusMsg.getText().toString();
String urlgotten = url.getText().toString();
Toast.makeText(v.getContext(), namegotten + projectidgotten, Toast.LENGTH_SHORT).show();
Collect.getInstance().getActivityLogger()
.logAction(this, "downloadBlankForms", "click");
Intent i = new Intent(v.getContext(), Activity_AllForms_Download.class);
i.putExtra("id", projectidgotten);
v.getContext().startActivity(i);
}
});
// Chcek for empty status message
if (!TextUtils.isEmpty(item.getStatus())) {
statusMsg.setText(item.getStatus());
statusMsg.setVisibility(View.VISIBLE);
} else {
// status is empty, remove from view
statusMsg.setVisibility(View.GONE);
}
// Checking for null feed url
if (item.getUrl() != null) {
url.setText(Html.fromHtml("<a href=\"" + item.getUrl() + "\">"
+ item.getUrl() + "</a> "));
// Making url clickable
url.setMovementMethod(LinkMovementMethod.getInstance());
url.setVisibility(View.VISIBLE);
} else {
// url is null, remove from the view
url.setVisibility(View.GONE);
}
return convertView;
}
}
这里是
D/AndroidRuntime: Shutting down VM
W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0xa4d2bb20)
E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.odk.collect.android, PID: 31036
java.lang.NoClassDefFoundError: org.odk.collect.android.adapters.FeedListAdapter$1
at org.odk.collect.android.adapters.FeedListAdapter.getView(FeedListAdapter.java:115)
at android.widget.AbsListView.obtainView(AbsListView.java:2263)
at android.widget.ListView.onMeasure(ListView.java:1147)
at android.view.View.measure(View.java:16497)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
at android.view.View.measure(View.java:16497)
at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1226)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.widget.ScrollView.onMeasure(ScrollView.java:326)
at android.view.View.measure(View.java:16497)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:16497)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
at com.android.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:327)
at android.view.View.measure(View.java:16497)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2291)
at android.view.View.measure(View.java:16497)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1916)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1113)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1295)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1000)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5670)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
at android.view.Choreographer.doCallbacks(Choreographer.java:574)
at android.view.Choreographer.doFrame(Choreographer.java:544)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Application terminated.
崩溃结束这里的LOG。
测试,但它不工作。谢谢你的帮助。仍然给我同样的错误 – Pheonix
请注意,这在其他版本的Android 4.4以上的罚款,但不适用于Android 4.4 – Pheonix