我似乎正在收到此错误,我是android studio的新手,我试图将数组中的名称放入ListView,然后当用户点击任意列表时,Toast被激活。但是我似乎被下面的错误所困扰

    error: no suitable method found for makeText(MainActivity,Object,int)
    method Toast.makeText(Context,CharSequence,int) is not applicable
    (argument mismatch; Object cannot be converted to CharSequence)
    method Toast.makeText(Context,int,int) is not applicable
    (argument mismatch; Object cannot be converted to int)


这是我的活动


   import androidx.appcompat.app.AppCompatActivity;

   import android.os.Bundle;
   import android.view.View;
   import android.widget.AdapterView;
   import android.widget.ArrayAdapter;
   import android.widget.ListView;
   import android.widget.Toast;

  import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    private ListView listv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        listv = (ListView) findViewById(R.id.listv);

        final ArrayList names = new ArrayList();

        names.add("Samuel");
        names.add("Manuel");
        names.add("King");

        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, names);

        listv.setAdapter(adapter);

        listv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Toast.makeText(MainActivity.this, names.get(position), Toast.LENGTH_LONG).show();
            }
        });
    }
}


有什么问题,我该如何解决?

最佳答案

更改为Toast.makeText(MainActivity.this, String.valueOf(names.get(position)), Toast.LENGTH_LONG).show();

关于java - 找不到适合makeText的方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58327606/

10-11 21:25