如何将一个类的东西链接到另一个类,如MainActivity.java

时间:2015-07-05 22:30:34

标签: android eclipse

我有两个类代码,一个是ToDoList.java,一个是MainActivity.java,在我的ToDoList.java中代码是这样的:

package com.example.splashscreen;

import android.app.Activity;
import android.view.View;
import android.widget.EditText;

public class ToDoList extends Activity {


public void buttonAddClick(View v){
        String toDo =                   ((EditText)findViewById(R.id.editTextToDo)).getText().toString().trim();

    if(toDo.isEmpty()){
        return;
    }

    arrayAdapterToDo.add(toDo);
}

}

红线在arrayAdapterToDo下,我知道是因为这个arrayAdapterToDo找不到合适的位置。在我的MainActivity.java中,代码是这样的:

package com.example.splashscreen;

import java.util.ArrayList;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.ListView;


public class MainActivity extends Activity {
private ArrayList<String> arrayListToDo;
private ArrayAdapter<String> arrayAdapterToDo;

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

    arrayListToDo = new ArrayList<String>();
    arrayAdapterToDo = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,arrayListToDo);
    ListView listViewToDo = (ListView) findViewById(R.id.listViewToDo);
    listViewToDo.setAdapter(arrayAdapterToDo);
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}





}

黄色的感叹号显示在ToDoList.java页面上,如何解决?

1 个答案:

答案 0 :(得分:0)

您可以通过执行此步骤从其他活动添加数据。

创建一个新的java类并将其命名为com.example.apple-samplecode

GenericAdapter.java

import android.content.Context; import android.widget.ArrayAdapter; import java.util.ArrayList; /** * Created by dragon on 7/6/2015. */ public class GenericAdapter { private ArrayAdapter<String> adapter; private ArrayList<String> arrayListToDo; private static GenericAdapter adapt; private GenericAdapter(Context context) { arrayListToDo = new ArrayList<String>(); adapter = new ArrayAdapter<String>(context, android.R.layout.simple_list_item_1, arrayListToDo); } public static GenericAdapter getInstance(Context context) { if (adapt == null) { adapt = new GenericAdapter(context); } return adapt; } public void add(String s) { arrayListToDo.add(s); adapter.notifyDataSetChanged(); } public ArrayAdapter<String> getAdapter() { return adapter; } } 更改为

ToDoList.java

package com.example.splashscreen; import android.app.Activity; import android.view.View; import android.widget.EditText; public class ToDoList extends Activity { public void buttonAddClick(View v){ String toDo =((EditText)findViewById(R.id.editTextToDo)).getText().toString().trim(); if(toDo.isEmpty()){ return; } GenericAdapter.getInstance(this).add(toDo); } } 更改为

MainActivity.java