当前位置: 首页 > 知识库问答 >
问题:

错误:找不到适合ArrayAdapter的构造函数(Tab1Fragment,int,ArrayList)

戚阳曜
2023-03-14

我对编程很陌生,一直在尝试为学校项目的片段添加一个列表视图+arrayadapter。已经提到了这个问题,但没有用。https://stackoverflow.com/questions/32350275/no-application-constructor-found-for-ArrayAdapterMainListActivity-getBlogPostStask#=

package com.tabian.tabfragments;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;    
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import java.util.ArrayList;
import android.widget.Button;


public class Tab1Fragment extends Fragment {
private static final String TAG = "Tab1Fragment";

private ListView listOfLeagues;
final ArrayList<String> listItems = new ArrayList<String>();

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.tab1_fragment,container,false);
    listOfLeagues = (ListView) view.findViewById(R.id.listOfLeagues);

    String[] values = new String[] { "World Cup", "Champions League" };

    for(int i = 0; i < values.length; i++){
        listItems.add(values[i]);
    }

    ArrayAdapter adapter = new ArrayAdapter<(Tab1Fragment.this,
            android.R.layout.simple_list_item_1, listItems);
    listOfLeagues.setAdapter(adapter);

    listOfLeagues.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            String selectedLeague = listItems.get(position).toString();

            Intent titleIntent = new Intent(view.getContext(), abc.class);

            titleIntent.putExtra("league", selectedLeague);
            startActivity(titleIntent);
        }
    });

    return view;
}

}

共有1个答案

伯建安
2023-03-14

ArrayAdapter构造函数的第一个参数应该是上下文,但是您传递的是片段,即tab1fragment。

在生命周期中处于附加状态的片段中,可以使用getcontext()获得上下文。因此,将tab1fragment.this替换为getcontext()

 类似资料:
  • 我在运行代码时得到了这个错误,我在跟踪treehouse Build a blog reader android应用程序,现在我得到了这个错误 错误:(120,52)错误:找不到适合ArrayAdapter(MainListActivity.GetBlogPostStask,int,String[])的构造函数ArrayAdapter.ArrayAdapter(Context,int,int)不适

  • 问题内容: 我是Java的新手,正在尝试为Minecraft制作一个mod,但我不知道如何解决此错误: 这是我的代码: 这是怎么回事,我正在尝试使字符串“ Username”重定向到另一个类。 问题答案: Java编译器告诉您不能构造对象,因为您对构造函数的调用与任何已知的构造函数都不匹配。 具体来说,编译器发现了两个构造函数: 但您致电给: 都不匹配。

  • 问题内容: 我正在实现他们文档中提供的firebase示例。我遇到此错误: com.fasterxml.jackson.databind.JsonMappingException:没有为类型[简单类型,类com.XYZ。$ BlogPost]找到合适的构造函数:无法从JSON对象实例化(需要添加/启用类型信息吗?) 这是我的代码: 我在同一件事上经历了很多问题,说要包含反序列化JSON所需的空构造

  • 我是一个较大的android我想为移动和电视创建一个应用程序,当我试图建立项目时,我看到错误: 错误:(156,33)错误:没有为HeaderItem(int,String,)构造函数HeaderItem(String)找到合适的构造函数。HeaderItem(String)不适用(实际和正式参数列表长度不同)构造函数HeaderItem(long,String)不适用(实际和正式参数列表长度不同

  • 我的程序是用Java8写的,当我使用LocalDateTime的类型时,它会给我以下错误: 没有为类型[simple type,class java.time.LocalDateTime]找到合适的构造函数:无法从JSON对象实例化(缺少默认构造函数或创建者,或者可能需要添加/启用类型信息?) 在[来源:[B@5976fe6f; 行:1,列:80](通过引用链:com.boot.framwork.

  • 我到处找,但找不到解决我问题的办法。我是新来Java的,我正在尝试建立一个app,但由于某种原因我过不了这个问题。我得到这个错误: 错误:(68,33)错误:找不到ArrayAdapter(OneFragment,int,String[])的合适构造函数构造函数ArrayAdapter.ArrayAdapter(Context,int,int,List)不适用(实际参数列表和正式参数列表的长度不同