Java Android框架布局列表视图元素不';看起来不可点击

Java Android框架布局列表视图元素不';看起来不可点击,java,android,listview,Java,Android,Listview,我有一个应用程序,可以将项目加载到FrameLayout中的ListView中。该部分工作正常,但当我将鼠标悬停在项目上时,单击功能似乎不起作用,它们没有可单击的悬停外观,而单击时则什么也不做 我在谷歌上搜索过,在xml中有一些关于焦点和可点击类型的提到,但尝试添加这些类型后,它们似乎没有任何区别 我使用的布局结构是否有问题?或者我可以添加一些东西来确保ListView元素是可点击的吗 LansFragment Map<String,String> myMap = new HashM

我有一个应用程序,可以将项目加载到FrameLayout中的ListView中。该部分工作正常,但当我将鼠标悬停在项目上时,
单击
功能似乎不起作用,它们没有可单击的悬停外观,而单击时则什么也不做

我在谷歌上搜索过,在xml中有一些关于焦点和可点击类型的提到,但尝试添加这些类型后,它们似乎没有任何区别

我使用的布局结构是否有问题?或者我可以添加一些东西来确保ListView元素是可点击的吗

LansFragment

Map<String,String> myMap = new HashMap<>();
JSONArray lanArray = data; //json arrray, blank for example

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View view = inflater.inflate(R.layout.activity_main, container, false);

    ArrayList<String> itemArray = new ArrayList<String>();

    try {
        JSONArray jsonMainArr = jsonObj.getJSONArray(lanArray);

        for (int i = 0; i < jsonMainArr.length(); i++) {

            JSONObject json_data = jsonMainArr.getJSONObject(i);

            String name = json_data.getString("lanName");
            String key = json_data.getString("lanKey");

            itemArray.add(name);
            myMap.put(name, key);
        }
    } catch (Exception e) {
        // catch here
    }

    ArrayAdapter adapter = new ArrayAdapter<String>(view.getContext(), R.layout.activity_listview, itemArray);

    ListView listView = (ListView) getActivity().findViewById(R.id.listview);
    listView.setAdapter(adapter);

    listView.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> l, View v, int position, long id) {

            String lan = l.getItemAtPosition(position).toString();
            String key = myMap.get(lan);

            // Not currently working due to no click registering
        }
    });

    return view;
}
Map myMap=newhashmap();
JSONArray lanArray=数据//json arrray,例如blank
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图=充气机。充气(R.layout.activity\u main,容器,错误);
ArrayList itemArray=新的ArrayList();
试一试{
JSONArray-jsonMainArr=jsonObj.getJSONArray(lanArray);
for(int i=0;i
主要活动

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    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="app.stats.LansFragment"
    android:orientation="horizontal">

    <FrameLayout
        android:id="@+id/fragment_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ListView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/listview" />
    </FrameLayout>

</LinearLayout>

活动\u列表视图

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/label"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dip"
    android:textSize="16dip"
    android:textStyle="bold" >
</TextView>

您对片段调用中的
列表视图
id的调用:

ListView ListView=(ListView)getActivity().findViewById(R.id.ListView)

但是在片段内部,您应该引用片段视图。应该是:


ListView ListView=(ListView)view.findViewById(R.id.ListView)

您对片段调用中的
列表视图
id的调用:

ListView ListView=(ListView)getActivity().findViewById(R.id.ListView)

但是在片段内部,您应该引用片段视图。应该是:


ListView ListView=(ListView)view.findViewById(R.id.ListView)

为什么还要有框架布局?@CodyCaughlan我正在使用片段,但这里演示的代码太多了,所以我在调用时没有考虑部分,片段调用中的listview id
listview listview=(listview)getActivity().findViewById(R.id.listview)应该是
ListView ListView=(ListView)view.findViewById(R.id.ListView)
@MarkKeen就是这个,如果你回答的话,我会把它标记为正确的?为什么还要有框架布局?@CodyCaughlan我使用的是片段,但是这里演示的代码太多了,所以我在你的调用之外留下了部分,片段调用
listview listview=(listview)getActivity().findViewById(R.id.listview)应该是
ListView ListView=(ListView)view.findViewById(R.id.ListView)@MarkKeen就是这个,如果你回答,我会把它标记为正确的?