[英]Fragment crash when click on item in listview
當我觸摸 listView 中的項目時,應用程序崩潰
這是 logcat
2020-03-15 20:26:50.123 19174-19174/com.zeroXmohamed.TN19 E/Minikin:無法獲取 cmap 表大小! 2020-03-15 20:26:50.158 19174-19202/com.zeroXmohamed.TN19 E/MemoryLeakMonitorManager:MemoryLeakMonitor.jar 不存在! 2020-03-15 20:26:54.323 19174-19174/com.zeroXmohamed.TN19 E/AndroidRuntime:致命異常:主進程:com.zeroXmohamed.TN19,PID:19174 android.Notcontent.res.ResourceStrings$ ID #0x3 at android.content.res.Resources.getText(Resources.java:410) at android.content.res.HwResources.getText(HwResources.java:465) at android.widget.Toast.makeText(Toast.java: 328) 在 com.zeroXmohamed.TN19.fragment.ChercheFragment$1.onItemClick(ChercheFragment.java:48) 在 android.widget.AdapterView.performItemClick(AdapterView.java:321) 在 android.widget.AbsListView.performItemClick(AbsListView.java) 1217) 在 android.widget.AbsListView$PerformClick.run(AbsListView.java:3203) 在 android.widget.AbsListView$3.run(AbsListView.java:4151) 在 android.os.Handler.handleCallback(Handler.java:808)在 android.os.Handler.dispatchMessage(Handler.java:101) 在 android.os.Looper.loop(Looper.java:166) 在 android.app.ActivityThread.main(ActivityThread.java:7529) 在 java.lang。反射.方法.invoke(納蒂 ve 方法)在 com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)
這是代碼
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;
}
}
代替:
Toast.makeText(getContext(), position, Toast.LENGTH_SHORT).show()
和:
Toast.makeText(getContext(), Integer.toString(position), Toast.LENGTH_SHORT).show()
將int
作為第二個參數的makeText()
版本期望int
是字符串資源 ID。 你的不是。 因此,您需要自己將position
轉換為String
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.