Java 单击listview中的项时碎片崩溃
当我触摸listView中的项目时,应用程序崩溃 这是日志 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.content.res.Resources$NotFoundException:字符串资源ID#0x3 位于android.content.res.Resources.getText(Resources.java:410) 位于android.content.res.HwResources.getText(HwResources.java:465) 位于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.reflect.Method.invoke(本机方法) 在com.android.internal.os.Zygote$MethodAndArgsCaller.run上(Zygote.java:245) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921) 这是密码Java 单击listview中的项时碎片崩溃,java,android,Java,Android,当我触摸listView中的项目时,应用程序崩溃 这是日志 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 1917
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;
}
}
包。。。
导入android.os.Bundle;
导入android.support.v4.app.Fragment;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
导入android.widget.Toast;
导入com.zeroXmohamed.TN19.R;
公共类ChercheFragment扩展了片段{
字符串countryList[]={“印度”、“中国”、“澳大利亚”、“葡萄牙”、“美国”、“新西兰”};
私有ListView单纯形列表;
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图根视图=充气机。充气(R.layout.fragment\u cherche,容器,
假);
simpleList=rootView.findviewbyd(R.id.ListC);
ArrayAdapter=新的ArrayAdapter(getActivity(),
android.R.layout.simple_list_item_1,countryList);
simpleList.setAdapter(适配器);
simpleList.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共链接(AdapterView arg0、视图arg1、,
整数位置,长arg3){
Toast.makeText(getContext(),position,Toast.LENGTH_SHORT).show();
}
});
返回rootView;
}
}
更换:
Toast.makeText(getContext(), position, Toast.LENGTH_SHORT).show()
与:
将
int
作为第二个参数的makeText()
版本希望int
是字符串资源ID。您的不是。因此,您需要自己将位置
转换为字符串
。成功了,谢谢,我尝试了大约30分钟来修复它,感谢您的帮助,我将在10分钟内接受您的答案,这就是他们所做的said@MohamedJawadi:很高兴它成功了!BTW,一个小的帮助:在将来,请考虑将堆栈跟踪格式化为源代码,而不是引用的文本。堆栈跟踪在格式化为源代码时更易于读取。下次我将:)
Toast.makeText(getContext(), Integer.toString(position), Toast.LENGTH_SHORT).show()