无法打印在Android中使用JAVA的ListView ClickedItem的位置 [英] Failed to Print position of ClickedItem of ListView in Android using JAVA

查看:147
本文介绍了无法打印在Android中使用JAVA的ListView ClickedItem的位置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面类从扩展

 公共类LocationListFragment扩展ListFragment实现LoaderManager.LoaderCallbacks<名单,LT;地点>> {    私人最终静态字符串变量= LocationListFragment.class.getName();    私人LocationListLoader locationListLoader;
    私人LocationListAdapter locationListAdapter;
    私人诠释用户id;
    上下文语境;
   @覆盖
    公共无效onActivityCreated(捆绑savedInstanceState){
        super.onActivityCreated(savedInstanceState);
        ListView控件LV = getListView();
        lv.setTextFilterEnabled(真);
        lv.setOnItemClickListener(新OnItemClickListener(){
            公共无效onItemClick(适配器视图<>母公司,观景,
                INT位置,长的id){
              //单击时,显示的文字TextView的敬酒
              Toast.makeText(getActivity(),((TextView的)视图).getText()
                  Toast.LENGTH_SHORT).show();
              Log.i(位置,+位置);
            }
            });
        INT locationListType = getArguments()调用getInt(LocationListActivityFinal.LOCATION_LIST_TYPE)。
        开关(locationListType){
            案例LocationListActivityFinal.DOMESTIC:
                。用户id = getArguments()调用getInt(LocationListActivityFinal.ASSIGNED_USER_ID);
                打破;            案例LocationListActivityFinal.COMMERCIAL:
                。用户id = getArguments()调用getInt(LocationListActivityFinal.ASSIGNED_USER_ID);
                打破;            默认:
                打破;
        }
     getLoaderManager()initLoader(101,空,这一点)。
    }    @覆盖
    公共无效onListItemClick(ListView中升,视图V,INT位置,长的id){        Log.i(DataListFragment,项目点:+ ID);
    }
    @覆盖
    公共装载机<名单,LT;地点>> onCreateLoader(INT ID,捆绑参数){
        locationListLoader =新LocationListLoader(getActivity());
        返回locationListLoader;
    }    @覆盖
    公共无效onLoadFinished(装载机<名单,LT;地点>>为arg0,列表与LT;地点>的位置){
         locationListAdapter =新LocationListAdapter(getActivity(),locationListLoader);
         setListAdapter(locationListAdapter);         如果(isResumed()){
             setListShown(真);
         }其他{
             setListShownNoAnimation(真);
         }
         locationListAdapter.notifyDataSetChanged();    }
}

我从服务填充ListView和其工作正常,但试图点击ListView中时,其表示该LogCat中:

  4月1日至14日:21​​:29.995:E / AndroidRuntime(3174):致命异常:主要
 4月1日至14日:21​​:29.995:E / AndroidRuntime(3174):
 java.lang.ClassCastException:android.widget.LinearLayout不能
 转换为android.widget.TextView 4月1日至14日:21​​:29.995:
 E / AndroidRuntime(3174):在
 com.mrfs.android.surveyapp.activities.fragments.LocationListFragment$1.onItemClick(LocationListFragment.java:45)
 4月1日至14日:21​​:29.995:E / AndroidRuntime(3174):在
 android.widget.AdapterView.performItemClick(AdapterView.java:301)
 4月1日至14日:21​​:29.995:E / AndroidRuntime(3174):在
 android.widget.AbsListView.performItemClick(AbsListView.java:1276)
 4月1日至14日:21​​:29.995:E / AndroidRuntime(3174):在
 android.widget.AbsListView $ PerformClick.run(AbsListView.java:3067)
 4月1日至14日:21​​:29.995:E / AndroidRuntime(3174):在
 android.widget.AbsListView $ 1.run(AbsListView.java:3963)01-14
 04:21:29.995:E / AndroidRuntime(3174):在
 android.os.Handler.handleCallback(Handler.java:615)0​​1-14
 04:21:29.995:E / AndroidRuntime(3174):在
 android.os.Handler.dispatchMessage(Handler.java:92)01-14
 04:21:29.995:E / AndroidRuntime(3174):在
 android.os.Looper.loop(Looper.java:137)4月1日至14日:21​​:29.995:
 E / AndroidRuntime(3174):在
 android.app.ActivityThread.main(ActivityThread.java:4898)01-14
 04:21:29.995:E / AndroidRuntime(3174):在
 java.lang.reflect.Method.invokeNative(本机方法)01-14
 04:21:29.995:E / AndroidRuntime(3174):在
 java.lang.reflect.Method.invoke(Method.java:511)01-14 04:21:29.995:
 E / AndroidRuntime(3174):在
 com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1006)
 4月1日至14日:21​​:29.995:E / AndroidRuntime(3174):在
 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)01-14
 04:21:29.995:E / AndroidRuntime(3174):在
 dalvik.system.NativeStart.main(本机方法)

试图滚动的ListView时出错:


  

4月1日至14日:35:02.555:E / AndroidRuntime(6964):致命异常:主要
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):
  显示java.lang.NullPointerException 01-14 04:35:02.555:
  E / AndroidRuntime(6964):在
  com.mrfs.android.surveyapp.adapter.LocationListAdapter.getView(LocationListAdapter.java:91)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.widget.AbsListView.obtainView(AbsListView.java:2445)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  android.widget.ListView.makeAndAddView(ListView.java:1775)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  android.widget.ListView.fillDown(ListView.java:678)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  android.widget.ListView.fillGap(ListView.java:642)4月1日至14日:35:02.555:
  E / AndroidRuntime(6964):在
  android.widget.AbsListView.trackMotionScroll(AbsListView.java:5525)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.widget.AbsListView.scrollIfNeeded(AbsListView.java:3413)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  android.widget.AbsListView.onTouchEvent(AbsListView.java:3901)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  android.view.View.dispatchTouchEvent(View.java:7337)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2410)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2145)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2416)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2159)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2416)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2159)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2416)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2159)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2416)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2159)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2416)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2159)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2416)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2159)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2416)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2159)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2115)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1468)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.app.Activity.dispatchTouchEvent(Activity.java:2487)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  com.android.internal.policy.impl.PhoneWindow $ DecorView.dispatchTouchEvent(PhoneWindow.java:2063)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.view.View.dispatchPointerEvent(View.java:7520)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3376)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:330​​8)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4402)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4380)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewRootImpl $ WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4484)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(母语
  法)四月一日至一十四日:35:02.555:E / AndroidRuntime(6964):在
  android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:163)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:4452)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.view.ViewRootImpl $ ConsumeBatchedInputRunnable.run(ViewRootImpl.java:4503)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.view.Choreographer $ CallbackRecord.run(Choreographer.java:725)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.view.Choreographer.doCallbacks(Choreographer.java:555)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  android.view.Choreographer.doFrame(Choreographer.java:523)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  android.view.Choreographer $ FrameDisplayEventReceiver.run(Choreographer.java:711)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  android.os.Handler.handleCallback(Handler.java:615)0​​1-14
  04:35:02.555:E / AndroidRuntime(6964):在
  android.os.Handler.dispatchMessage(Handler.java:92)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  android.os.Looper.loop(Looper.java:137)4月1日至14日:35:02.555:
  E / AndroidRuntime(6964):在
  android.app.ActivityThread.main(ActivityThread.java:4898)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  java.lang.reflect.Method.invokeNative(本机方法)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  java.lang.reflect.Method.invoke(Method.java:511)01-14 04:35:02.555:
  E / AndroidRuntime(6964):在
  com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1006)
  4月1日至14日:35:02.555:E / AndroidRuntime(6964):在
  com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)01-14
  04:35:02.555:E / AndroidRuntime(6964):在
  dalvik.system.NativeStart.main(本机方法)



解决方案

您的异常状态是:

  java.lang.ClassCastException:android.widget.LinearLayout不能转换到android.widget.TextView 4月1日至14日:21​​:29.995:E / AndroidRuntime(3174):在com.mrfs.android.surveyapp.activities.fragments.LocationListFragment$1.onItemClick(LocationListFragment.java:45)

所以我想这将是这是造成异常的行。视图是不是一个TextView,而是一个LinearLayout中。尝试使用view.findViewById(R.id.theTextViewIdFromALayoutFile)代替。而投这一个TextView。

  Toast.makeText(getActivity(),((TextView的)视图).getText()
              Toast.LENGTH_SHORT).show();

Below class extends from

public class LocationListFragment extends ListFragment implements LoaderManager.LoaderCallbacks<List<Location>>{

    private final static String TAG = LocationListFragment.class.getName();

    private LocationListLoader locationListLoader;
    private LocationListAdapter locationListAdapter;
    private int userId;
    Context context;
   @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        ListView lv = getListView();
        lv.setTextFilterEnabled(true);
        lv.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
              // When clicked, show a toast with the TextView text
              Toast.makeText(getActivity(), ((TextView) view).getText(),
                  Toast.LENGTH_SHORT).show();
              Log.i("position",""+position);
            }
            });


        int locationListType = getArguments().getInt(LocationListActivityFinal.LOCATION_LIST_TYPE);
        switch (locationListType) {
            case LocationListActivityFinal.DOMESTIC:
                userId = getArguments().getInt(LocationListActivityFinal.ASSIGNED_USER_ID);
                break;

            case LocationListActivityFinal.COMMERCIAL:
                userId = getArguments().getInt(LocationListActivityFinal.ASSIGNED_USER_ID);
                break;

            default:
                break;
        }
     getLoaderManager().initLoader(101,null,this);
    }

    @Override
    public void onListItemClick(ListView l,View v, int position, long id) {

        Log.i("DataListFragment", "Item clicked: " + id);
    }
    @Override
    public Loader<List<Location>> onCreateLoader(int id, Bundle args) {
        locationListLoader = new LocationListLoader(getActivity());
        return locationListLoader;
    }

    @Override
    public void onLoadFinished(Loader<List<Location>> arg0, List<Location> locations) {
         locationListAdapter = new LocationListAdapter(getActivity(),locationListLoader);
         setListAdapter(locationListAdapter);

         if (isResumed()) {
             setListShown(true);
         } else {
             setListShownNoAnimation(true);
         }
         locationListAdapter.notifyDataSetChanged();

    }
}

I am filling ListView from Service and its working fine but when trying to click on ListView its showing this LogCat:

 01-14 04:21:29.995: E/AndroidRuntime(3174): FATAL EXCEPTION: main
 01-14 04:21:29.995: E/AndroidRuntime(3174):
 java.lang.ClassCastException: android.widget.LinearLayout cannot be
 cast to android.widget.TextView 01-14 04:21:29.995:
 E/AndroidRuntime(3174):    at
 com.mrfs.android.surveyapp.activities.fragments.LocationListFragment$1.onItemClick(LocationListFragment.java:45)
 01-14 04:21:29.995: E/AndroidRuntime(3174):    at
 android.widget.AdapterView.performItemClick(AdapterView.java:301)
 01-14 04:21:29.995: E/AndroidRuntime(3174):    at
 android.widget.AbsListView.performItemClick(AbsListView.java:1276)
 01-14 04:21:29.995: E/AndroidRuntime(3174):    at
 android.widget.AbsListView$PerformClick.run(AbsListView.java:3067)
 01-14 04:21:29.995: E/AndroidRuntime(3174):    at
 android.widget.AbsListView$1.run(AbsListView.java:3963) 01-14
 04:21:29.995: E/AndroidRuntime(3174):  at
 android.os.Handler.handleCallback(Handler.java:615) 01-14
 04:21:29.995: E/AndroidRuntime(3174):  at
 android.os.Handler.dispatchMessage(Handler.java:92) 01-14
 04:21:29.995: E/AndroidRuntime(3174):  at
 android.os.Looper.loop(Looper.java:137) 01-14 04:21:29.995:
 E/AndroidRuntime(3174):    at
 android.app.ActivityThread.main(ActivityThread.java:4898) 01-14
 04:21:29.995: E/AndroidRuntime(3174):  at
 java.lang.reflect.Method.invokeNative(Native Method) 01-14
 04:21:29.995: E/AndroidRuntime(3174):  at
 java.lang.reflect.Method.invoke(Method.java:511) 01-14 04:21:29.995:
 E/AndroidRuntime(3174):    at
 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
 01-14 04:21:29.995: E/AndroidRuntime(3174):    at
 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773) 01-14
 04:21:29.995: E/AndroidRuntime(3174):  at
 dalvik.system.NativeStart.main(Native Method)

Error when trying to Scroll ListView:

01-14 04:35:02.555: E/AndroidRuntime(6964): FATAL EXCEPTION: main 01-14 04:35:02.555: E/AndroidRuntime(6964): java.lang.NullPointerException 01-14 04:35:02.555: E/AndroidRuntime(6964): at com.mrfs.android.surveyapp.adapter.LocationListAdapter.getView(LocationListAdapter.java:91) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.widget.AbsListView.obtainView(AbsListView.java:2445) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.widget.ListView.makeAndAddView(ListView.java:1775) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.widget.ListView.fillDown(ListView.java:678) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.widget.ListView.fillGap(ListView.java:642) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.widget.AbsListView.trackMotionScroll(AbsListView.java:5525) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.widget.AbsListView.scrollIfNeeded(AbsListView.java:3413) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.widget.AbsListView.onTouchEvent(AbsListView.java:3901) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.View.dispatchTouchEvent(View.java:7337) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2410) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2145) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2416) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2159) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2416) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2159) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2416) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2159) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2416) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2159) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2416) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2159) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2416) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2159) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2416) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2159) 01-14 04:35:02.555: E/AndroidRuntime(6964): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2115) 01-14 04:35:02.555: E/AndroidRuntime(6964): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1468) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.app.Activity.dispatchTouchEvent(Activity.java:2487) 01-14 04:35:02.555: E/AndroidRuntime(6964): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2063) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.View.dispatchPointerEvent(View.java:7520) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3376) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3308) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4402) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4380) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4484) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:163) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:4452) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:4503) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.Choreographer.doCallbacks(Choreographer.java:555) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.Choreographer.doFrame(Choreographer.java:523) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.os.Handler.handleCallback(Handler.java:615) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.os.Handler.dispatchMessage(Handler.java:92) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.os.Looper.loop(Looper.java:137) 01-14 04:35:02.555: E/AndroidRuntime(6964): at android.app.ActivityThread.main(ActivityThread.java:4898) 01-14 04:35:02.555: E/AndroidRuntime(6964): at java.lang.reflect.Method.invokeNative(Native Method) 01-14 04:35:02.555: E/AndroidRuntime(6964): at java.lang.reflect.Method.invoke(Method.java:511) 01-14 04:35:02.555: E/AndroidRuntime(6964): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006) 01-14 04:35:02.555: E/AndroidRuntime(6964): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773) 01-14 04:35:02.555: E/AndroidRuntime(6964): at dalvik.system.NativeStart.main(Native Method)

解决方案

Your exception states this:

 java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.TextView 01-14 04:21:29.995: E/AndroidRuntime(3174): at com.mrfs.android.surveyapp.activities.fragments.LocationListFragment$1.onItemClick(LocationListFragment.java:45)

So I guess this would be the row that's causing the Exception. The view is not a TextView, but a linearlayout. Try using view.findViewById(R.id.theTextViewIdFromALayoutFile) instead. And cast this to a TextView.

Toast.makeText(getActivity(), ((TextView) view).getText(),
              Toast.LENGTH_SHORT).show();

这篇关于无法打印在Android中使用JAVA的ListView ClickedItem的位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆