2017-01-19 5 views
0

私はInternational FragmentのカスタムListViewを作成しましたが、クリックするとアプリケーションが応答しませんでした。
私のXMLにはレンダリングの問題もあり、現在のレイアウトにリンクすると周期的なエラーが表示されます。フラグメントエラーのListView

相続人TabInternationalFragment.java

のための私のコード
package com.example.guitarista.citem; 

import android.content.Context; 
import android.graphics.Typeface; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.ListFragment; 
import android.support.v7.widget.DefaultItemAnimator; 
import android.support.v7.widget.LinearLayoutManager; 
import android.support.v7.widget.RecyclerView; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.AdapterView; 
import android.widget.ListView; 
import android.widget.SimpleAdapter; 
import android.widget.TextView; 
import android.widget.Toast; 

import java.util.ArrayList; 
import java.util.HashMap; 


/** 
* A simple {@link Fragment} subclass. 
*/ 
public class TabInternationalFragment extends ListFragment { 

    String[] players={"Player1","Player2", "Player3"}; 
    int[] images = {R.drawable.custom_mf_logo,R.drawable.custom_mf_logo,R.drawable.custom_mf_logo}; 

    ArrayList<HashMap<String, String>> data=new ArrayList<HashMap<String, String>>() ; 
    SimpleAdapter adapter; 

    public TabInternationalFragment() { 
     // Required empty public constructor 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 
     View v = inflater.inflate(R.layout.fragment_tab_international, container, false); 

     //code for fill 
     HashMap<String, String> map = new HashMap<String, String>(); 
     for (int i=0;i<players.length;i++) 
     { 
      map = new HashMap<String, String>(); 
      map.put("Player", players[i]); 
      map.put("Image", Integer.toString(images[i])); 
      data.add(map); 
     } 
     String[] from={"Player", "Image"}; 
     int[] to = {R.id.nameTxt, R.id.imageView1}; 
     adapter = new SimpleAdapter(getActivity(), data, R.layout.model, from, to); 
     setListAdapter(adapter); 
     //-------------------------------------------- 
     return v; 


    } 

    @Override 
    public void onStart(){ 
     super.onStart(); 

     getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> av, View view, int position, long id) { 
       Toast.makeText(getActivity(), data.get(position).get("Player"), Toast.LENGTH_SHORT); 
      } 
     }); 
    } 



} 

fragment_tab_international.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".MainActivity"> 


    <fragment 
     android:id="@+id/fragment1" 
     android:name="com.example.guitarista.citem.TabInternationalFragment" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="81dp" /> 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="38dp" 
     android:text="Fragment Custom ListView" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     /> 

</RelativeLayout> 

logcat

01-19 10:48:14.085 16258-16258/com.example.guitarista.citem E/AndroidRuntime: FATAL EXCEPTION: main 
                       Process: com.example.guitarista.citem, PID: 16258 
                       java.lang.StackOverflowError: stack size 8MB 
                        at java.lang.reflect.Constructor.newInstance(Native Method) 
                        at java.lang.reflect.Constructor.newInstance(Constructor.java:288) 
                        at android.view.LayoutInflater.createView(LayoutInflater.java:607) 
                        at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55) 
                        at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682) 
                        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741) 
                        at android.view.LayoutInflater.inflate(LayoutInflater.java:482) 
                        at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
                        at com.example.guitarista.citem.TabInternationalFragment.onCreateView(TabInternationalFragment.java:43) 
                        at android.support.v4.app.Fragment.performCreateView(Fragment.java:2080) 
                        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1065) 
                        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1268) 
                        at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1370) 
                        at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2415) 
                        at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44) 
                        at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:177) 
                        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725) 
                        at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
                        at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
                        at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
                        at com.example.guitarista.citem.TabInternationalFragment.onCreateView(TabInternationalFragment.java:43) 
                        at android.support.v4.app.Fragment.performCreateView(Fragment.java:2080) 
                        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1065) 
                        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1268) 
                        at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1370) 
                        at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2415) 
                        at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44) 
                        at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:177) 
                        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725) 
                        at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
                        at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
                        at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
                        at com.example.guitarista.citem.TabInternationalFragment.onCreateView(TabInternationalFragment.java:43) 
                        at android.support.v4.app.Fragment.performCreateView(Fragment.java:2080) 
                        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1065) 
                        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1268) 
                        at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1370) 
                        at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2415) 
                        at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44) 
                        at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:177) 
                        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725) 
                        at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
                        at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
                        at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
                        at com.example.guitarista.citem.TabInternationalFragment.onCreateView(TabInternationalFragment.java:43) 
                        at android.support.v4.app.Fragment.performCreateView(Fragment.java:2080) 
                        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1065) 
                        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1268) 
                       at android.support.v4.app.FragmentManagerIm 
01-19 10:48:14.100 16258-16258/com.example.guitarista.citem I/art: WaitForGcToComplete blocked for 7.838ms for cause Alloc 
01-19 10:48:14.250 16258-16277/com.example.guitarista.citem I/art: Background partial concurrent mark sweep GC freed 118695(11MB) AllocSpace objects, 5(55MB) LOS objects, 25% free, 188MB/252MB, paused 994us total 134.540ms 
01-19 10:48:14.250 16258-16258/com.example.guitarista.citem I/art: WaitForGcToComplete blocked for 130.630ms for cause Alloc 
01-19 10:48:14.830 16258-16258/com.example.guitarista.citem I/art: Alloc sticky concurrent mark sweep GC freed 246886(25MB) AllocSpace objects, 9(20MB) LOS objects, 13% free, 199MB/231MB, paused 1.067ms total 54.250ms 
01-19 10:48:15.100 16258-16258/com.example.guitarista.citem D/Error: ERR: exClass=java.lang.StackOverflowError 
01-19 10:48:15.100 16258-16258/com.example.guitarista.citem D/Error: ERR: exMsg=stack size 8MB 
01-19 10:48:15.100 16258-16258/com.example.guitarista.citem D/Error: ERR: file=Constructor.java 
01-19 10:48:15.100 16258-16258/com.example.guitarista.citem D/Error: ERR: class=java.lang.reflect.Constructor 
01-19 10:48:15.100 16258-16258/com.example.guitarista.citem D/Error: ERR: method=newInstance line=-2 
01-19 10:48:15.125 16258-16277/com.example.guitarista.citem W/art: Suspending all threads took: 20.942ms 
01-19 10:48:15.219 16258-16258/com.example.guitarista.citem D/Error: ERR: stack=java.lang.StackOverflowError: stack size 8MB 
                     at java.lang.reflect.Constructor.newInstance(Native Method) 
                     at java.lang.reflect.Constructor.newInstance(Constructor.java:288) 
                     at android.view.LayoutInflater.createView(LayoutInflater.java:607) 
                     at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55) 
                     at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682) 
                     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741) 
                     at android.view.LayoutInflater.inflate(LayoutInflater.java:482) 
                     at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
                     at com.example.guitarista.citem.TabInternationalFragment.onCreateView(TabInternationalFragment.java:43) 
                     at android.support.v4.app.Fragment.performCreateView(Fragment.java:2080) 
                     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1065) 
                     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1268) 
                     at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1370) 
                     at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2415) 
                     at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44) 
                     at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:177) 
                     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725) 
                     at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
                     at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
                     at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
                     at com.example.guitarista.citem.TabInternationalFragment.onCreateView(TabInternationalFragment.java:43) 
                     at android.support.v4.app.Fragment.performCreateView(Fragment.java:2080) 
                     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1065) 
                     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1268) 
                     at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1370) 
                     at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2415) 
                     at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44) 
                     at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:177) 
                     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725) 
                     at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
                     at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
                     at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
                     at com.example.guitarista.citem.TabInternationalFragment.onCreateView(TabInternationalFragment.java:43) 
                     at android.support.v4.app.Fragment.performCreateView(Fragment.java:2080) 
                     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1065) 
                     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1268) 
                     at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1370) 
                     at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2415) 
                     at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44) 
                     at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:177) 
                     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725) 
                     at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
                     at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
                     at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
                     at com.example.guitarista.citem.TabInternationalFragment.onCreateView(TabInternationalFragment.java:43) 
                     at android.support.v4.app.Fragment.performCreateView(Fragment.java:2080) 
                     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1065) 
                     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1268) 
                     at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1370) 
                     at android.support.v4.app.F 
01-19 10:48:15.221 16258-16258/com.example.guitarista.citem D/Error: ERR: TOTAL BYTES WRITTEN: 15024956 
01-19 10:48:15.221 16258-16258/com.example.guitarista.citem E/JavaBinder: !!! FAILED BINDER TRANSACTION !!! 
01-19 10:48:15.222 16258-16258/com.example.guitarista.citem E/AndroidRuntime: Error reporting crash 
                       android.os.TransactionTooLargeException 
                        at android.os.BinderProxy.transactNative(Native Method) 
                        at android.os.BinderProxy.transact(Binder.java:496) 
                        at android.app.ActivityManagerProxy.handleApplicationCrash(ActivityManagerNative.java:4294) 
                        at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:89) 
                        at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693) 
                        at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690) 
01-19 10:48:15.222 16258-16258/com.example.guitarista.citem I/Process: Sending signal. PID: 16258 SIG: 9 

答えて

0

あなたはStackOverflowErrorが持っているので、あなたは、自分自身の中に断片を作成しています

再度以下の通りチュートリアルfragment_tab_international.xmlあなたのコメントに応えて

<fragment 
     android:id="@+id/fragment1" 
     android:name="com.example.guitarista.citem.TabInternationalFragment" 

、再ウォッチ。ファイルの編集を開始する前に、ファイル名を確認してください。

また、あなたはListFragmentを使用しているので、あなたがあなたのフラグメントのためのXMLファイルを使用しようとしている場合、あなたはandroid:[email protected]:id/listでリストビューを必要とし。つまり、documented very-well on the ListFragment pagesです。

ListFragmentには、単一のリストビューで構成されるデフォルトのレイアウトがあります。ただし、必要に応じて、onCreateView(LayoutInflater、ViewGroup、Bundle)から独自のビュー階層を返すことで、フラグメントレイアウトをカスタマイズできます。これを行うには、あなたのビュー階層必見は、ID「@android:ID /リスト」にリストビューオブジェクトが含まれている

また、ビデオで、アダプタのImageViewTextViewがありますレイアウトでは、アクティビティは<fragment>しかありません。フラグメントレイアウトはありませんXML

+0

私はどのような行動をとるべきですか? – SovietSenpai

+0

しないでください...?私はあなたが ''タグをアクティビティレイアウトに入れたいと思っています。フラグメント –

+0

ではなく、自分のアクティビティがナビゲーション引出しコードであらかじめレンダリングされています。私が追ってきたビデオを聞いています:https://www.youtube.com/watch?v=FvxXGzunujo – SovietSenpai

関連する問題