リストビュー内の項目をクリックしてくださいフラグメントクラッシュ

モハメドJawadi:

私はリストビュー内の項目をタッチすると、アプリがクラッシュ

ここでlogcatです

2020年3月15日20:26:50.123 19174から19174 / com.zeroXmohamed.TN19 E / Minikin:CMAPテーブルのサイズを取得できませんでした!2020年3月15日20:26:50.158 19174から19202 / com.zeroXmohamed.TN19 E / MemoryLeakMonitorManager:MemoryLeakMonitor.jarが存在していません!2020年3月15日20:26:54.323 19174から19174 / com.zeroXmohamed.TN19 E / AndroidRuntime:致命的な例外:メインプロセス:com.zeroXmohamed.TN19、PID:19174 android.content.res.Resources $ NotFoundException:文字列リソースandroid.widget.Toast.makeTextでandroid.content.res.HwResources.getText(HwResources.java:465)でandroid.content.res.Resources.getText(Resources.java:410)のID番号の0x3の(Toast.java: android.widget.AbsListView.performItemClickでandroid.widget.AdapterView.performItemClick(AdapterView.java:321)(AbsListView.javaでcom.zeroXmohamed.TN19.fragment.ChercheFragment $ 1.onItemClick(ChercheFragment.java:48)で328): android.widgetで1217)。

ここでのコードです

package ...
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

import com.zeroXmohamed.TN19.R;


public class ChercheFragment extends Fragment {
    String countryList[] = {"India", "China", "australia", "Portugle", "America", "NewZealand"};
    private ListView simpleList;


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_cherche, container,
                false);
        simpleList= rootView.findViewById(R.id.ListC);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
                android.R.layout.simple_list_item_1, countryList);
        simpleList.setAdapter(adapter);


        simpleList.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1,
                                    int position, long arg3) {
                Toast.makeText(getContext(), position, Toast.LENGTH_SHORT).show();



            }
        });

        return rootView;
    }


}
CommonsWare:

交換してください:

Toast.makeText(getContext(), position, Toast.LENGTH_SHORT).show()

と:

Toast.makeText(getContext(), Integer.toString(position), Toast.LENGTH_SHORT).show()

バージョンmakeText()とるint第二のパラメータとしては、それが期待されているint文字列リソースIDであること。あなたではありません。だから、あなたは変換する必要があるpositionString自分自身。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=292870&siteId=1