Java setOnItemClickListener不在片段中的ListView上工作
当我单击选项卡片段1中的listview时,它将无法跳转到下一个活动。我已经在课堂上设置了一个监听器,但仍然无法工作。现在我的问题是,当我单击listview时,它将无法工作Java setOnItemClickListener不在片段中的ListView上工作,java,android,android-listview,Java,Android,Android Listview,当我单击选项卡片段1中的listview时,它将无法跳转到下一个活动。我已经在课堂上设置了一个监听器,但仍然无法工作。现在我的问题是,当我单击listview时,它将无法工作 public class TabFragment1_Staff extends Fragment { ListView lsReport; ArrayList<HashMap<String, String>> reportlist; public View onCreateV
public class TabFragment1_Staff extends Fragment {
ListView lsReport;
ArrayList<HashMap<String, String>> reportlist;
public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
return inflater.inflate(R.layout.activity_tab_fragment1__staff, container, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
reportlist = new ArrayList<>();
lsReport = getActivity().findViewById(R.id.listReport);
loadReport();
lsReport.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(getActivity(),AddStatusDialogWindow.class);
Bundle bundle = new Bundle();
Log.e("HANIS",reportlist.get(position).get("reportID"));
bundle.putString("reportID",reportlist.get(position).get("reportID"));
bundle.putString("fullName",reportlist.get(position).get("fullName"));
bundle.putString("icNum",reportlist.get(position).get("icNum"));
bundle.putString("phoneNum",reportlist.get(position).get("phoneNum"));
bundle.putString("Rdate",reportlist.get(position).get("Rdate"));
bundle.putString("Rtime",reportlist.get(position).get("Rtime"));
bundle.putString("timeName",reportlist.get(position).get("timeName"));
bundle.putString("typeVehicle",reportlist.get(position).get("typeVehicle"));
bundle.putString("registrationnum",reportlist.get(position).get("registrationnum"));
bundle.putString("location",reportlist.get(position).get("location"));
bundle.putString("brief",reportlist.get(position).get("brief"));
intent.putExtras(bundle);
startActivity(intent);
}
});
}
}
tabFragment1.xml
LoadReport类
公共类CustomList\u StatusReport扩展了SimpleAdapter{
private Context mContext;
public LayoutInflater inflater = null;
public CustomList_StatusReport(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) {
super(context, data, resource, from, to);
mContext = context;
inflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
try {
if (convertView == null)
vi = inflater.inflate(R.layout.activity_custom_list__status_report, null);
HashMap<String, Object> data = (HashMap<String, Object>) getItem(position);
TextView reportID = vi.findViewById(R.id.tvReport_ID);
TextView cName = vi.findViewById(R.id.tvCompliantName);
TextView cIC = vi.findViewById(R.id.tvCompliantIC);
TextView cPhone = vi.findViewById(R.id.tvCompliantPhone);
String id = (String) data.get("reportID");
String name = (String)data.get("fullName");
String ic = (String)data.get("icNum");
String phone = (String)data.get("phoneNum");
reportID.setText(id);
cName.setText(name);
cIC.setText(ic);
cPhone.setText(phone);
}catch (IndexOutOfBoundsException e){}
return vi;
}
在tabFragment1.xml中,为什么要使用以下代码行
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
如果不需要,请删除这些,并让我们知道是否存在此问题?为什么此问题被标记为javascript?您可以共享CustomList\u StatusReport代码吗?我认为可能存在此错误。您是否在线性布局标记中添加了android:DegenantFocusability=blocksDescendants?否。是否需要在我的线性布局中添加这些内容?而不是在片段内使用getActivity,使用Requiresponsibility方法。如果AddStatusDialogWindow.class是一个活动,请使用意图进行导航,或者如果其片段,请使用片段事务进行导航。如果出现任何logcat错误,请也发布该错误。
private Context mContext;
public LayoutInflater inflater = null;
public CustomList_StatusReport(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) {
super(context, data, resource, from, to);
mContext = context;
inflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
try {
if (convertView == null)
vi = inflater.inflate(R.layout.activity_custom_list__status_report, null);
HashMap<String, Object> data = (HashMap<String, Object>) getItem(position);
TextView reportID = vi.findViewById(R.id.tvReport_ID);
TextView cName = vi.findViewById(R.id.tvCompliantName);
TextView cIC = vi.findViewById(R.id.tvCompliantIC);
TextView cPhone = vi.findViewById(R.id.tvCompliantPhone);
String id = (String) data.get("reportID");
String name = (String)data.get("fullName");
String ic = (String)data.get("icNum");
String phone = (String)data.get("phoneNum");
reportID.setText(id);
cName.setText(name);
cIC.setText(ic);
cPhone.setText(phone);
}catch (IndexOutOfBoundsException e){}
return vi;
}
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"