java - 无法解析 ArrayAdapter 中的构造函数

标签 java android listview

public class MainActivity extends AppCompatActivity
    implements NavigationView.OnNavigationItemSelectedListener {

EditText myeditText1;
EditText myeditText2;
Button myButton;

Double myfirstET1;
Double myfirstET2;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    myeditText1 = (EditText) findViewById(R.id.editText1);
    myeditText2 = (EditText) findViewById(R.id.editText2);
    myButton = (Button) findViewById(R.id.buttonID);
    final TextView myTextView = (TextView) findViewById(R.id.textView2);


    myButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            myfirstET1 = Double.parseDouble(myeditText1.getText().toString());
            myfirstET2 = Double.parseDouble(myeditText2.getText().toString());
            final ListView mListView = (ListView) findViewById(R.id.mList);

            if ((myeditText1.getText().length() > 0) && (myeditText2.getText().length() > 0)) {
                double oper1 = Double.parseDouble(myeditText1.getText().toString());
                double oper2 = Double.parseDouble(myeditText2.getText().toString());
                double result = oper1 / oper2;
                myTextView.setText(Double.toString(result));


                Double myyList[] = {oper1, oper2 + 1, oper2 + 1};

                ListAdapter myAdapter = new ArrayAdapter<Double>(this, android.R.layout.simple_list_item_1, myyList);
                mListView.setAdapter(myAdapter);

            }

        }
    });

在创建 ListView 并将适配器设置为它时,我在 ListAdapter 中遇到错误。我该如何修复它或者有什么简单的替代方法? 我希望我的摩托能够清楚地了解我编写的代码。

衷心感谢所有建议。

最佳答案

您需要在匿名类中使用 MainActivity.this 而不是 this 来引用此实际的 Activity 上下文

 ListAdapter myAdapter = new ArrayAdapter<Double>(MainActivity.this, android.R.layout.simple_list_item_1, myyList);
 //                                             ^^^^^^^^^^^^^^^^^^

还要提及类型并使用 ArrayAdapter 而不是 ListAdapter

 ArrayAdapter<Double> myAdapter = new ArrayAdapter<>(MainActivity.this...);
 //         ^^^^^^^ 

关于java - 无法解析 ArrayAdapter 中的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47786445/

相关文章:

java - 如何从 ADF 中的 Java 类创建数据控件和 View 对象

android - 如何处理异步任务中的连接超时

java - Android - 如何在滑动时移动 ImageView

java - 我需要一种仅使用 java 中的 SWT 自动单击程序中按钮的方法

java - Android:复选框监听器

java - 实例化 DefaultBoundedRangeModel

android - 使限制线在 mpandroidchart 上始终可见

android - ListView 中的重复布局引用

java - Android ListView 不显示超过 8 位数字

Android - ListView 内的微调器