如何在Android中填充我的列表视图

如何在Android中填充我的列表视图,android,sqlite,listview,android-intent,android-arrayadapter,Android,Sqlite,Listview,Android Intent,Android Arrayadapter,我是Android编程的新手,我想建立一个数字校园计划。为此,我使用了一些活动。我想创建一个计划,并将它们列在一个ListView中,用户可以在该控件的ListView中单击并查看所有的家庭作业等等 以下是我的想法: 我为CreateMain构建一个活动: public void createPlan(View view) { String PlanName; Intent intent = new Intent(this,ListenActivit

我是Android编程的新手,我想建立一个数字校园计划。为此,我使用了一些活动。我想创建一个计划,并将它们列在一个ListView中,用户可以在该控件的ListView中单击并查看所有的家庭作业等等

以下是我的想法:

我为CreateMain构建一个活动:

 public void createPlan(View view)
    {
        String PlanName;

        Intent intent = new Intent(this,ListenActivity.class);

        EditText planName = (EditText)findViewById(R.id.editText1);

        PlanName = planName.getText().toString();

        intent.putExtra(ListViewMessage, PlanName); 

        startActivity(intent);

    }
以及在ListView中显示创建数据的活动

import android.os.Bundle;
import android.view.Menu;
import java.util.List;
import android.app.ListActivity;
import android.widget.ArrayAdapter;

public class ListenActivity extends ListActivity {

    private CommentsDataSource datasource;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_open);

        datasource = new CommentsDataSource(this);
        datasource.open();

        List<Comment> values = datasource.getAllComments();

        // Use the SimpleCursorAdapter to show the
        // elements in a ListView
        ArrayAdapter<Comment> adapter = new ArrayAdapter<Comment>(this,
            android.R.layout.simple_list_item_1, values);
        setListAdapter(adapter);

        Comment comment = null;

          String[] comments = new String[] { "t1", "t2", "t3" };

          comment = datasource.createComment(comments[1]); 

          adapter.add(comment);

        adapter.notifyDataSetChanged();

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_list, menu);
        return true;
    }
}
导入android.os.Bundle;
导入android.view.Menu;
导入java.util.List;
导入android.app.ListActivity;
导入android.widget.ArrayAdapter;
公共类ListActivity扩展了ListActivity{
私有评论数据源;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_open);
数据源=新注释数据源(此);
datasource.open();
列表值=datasource.getAllComments();
//使用SimpleCursorAdapter显示
//ListView中的元素
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple_list_item_1,值);
setListAdapter(适配器);
注释=null;
字符串[]注释=新字符串[]{“t1”、“t2”、“t3”};
comment=datasource.createComment(comments[1]);
添加(注释);
adapter.notifyDataSetChanged();
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
getMenuInflater().充气(R.menu.activity\u列表,菜单);
返回true;
}
}

但我不知道如何在我的ListView中将之前活动中的数据用于此活动。我想使用SQLite数据库,但它不起作用:(

通过活动传递数据的方法很少。因为您将信息存储在
包中,所以我将按照相同的逻辑回答

如果您没有注意到,您将信息存储在
createPlan
方法中的Intent的额外包中

根据官方文件: “…extras--这是任何附加信息的捆绑包。这可用于向组件提供扩展信息。例如,如果我们有一个发送电子邮件的操作,我们还可以在此处包含额外的数据段以提供主题、正文等…”

因此,要获取这些信息,您可以在
listenacity
中使用
getIntent().getExtras()
收回您的
Bundle
,然后使用
getIntent().getExtras().getString(您的密钥)
传递用于存储计划名称的密钥

例如:

public class ListenActivity extends ListActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
   //...your stuff

   String planName = getIntent().getExtras().getString(ListViewMessage);

   //...your stuff
}
}


我不建议使用SQLite来存储少量数据。如果您真的想使用它,这里有很多很好的例子。

通过活动传递数据的方法很少。因为您将信息存储在
包中
我将按照同样的逻辑来回答

如果您没有注意到,您将信息存储在
createPlan
方法中的Intent的额外包中

根据官方文件: “…extras--这是任何附加信息的捆绑包。这可用于向组件提供扩展信息。例如,如果我们有一个发送电子邮件的操作,我们还可以在此处包含额外的数据段以提供主题、正文等…”

因此,要获取这些信息,您可以在
listenacity
中使用
getIntent().getExtras()
收回您的
Bundle
,然后使用
getIntent().getExtras().getString(您的密钥)
传递用于存储计划名称的密钥

例如:

public class ListenActivity extends ListActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
   //...your stuff

   String planName = getIntent().getExtras().getString(ListViewMessage);

   //...your stuff
}
}


我不建议使用SQLite来存储少量数据。如果你真的想使用它,这里有很多很好的例子。

让我看看我是否了解你。你想用SQLite通过你的活动传递数据吗?是的,我想我可以添加一个ListView行,让我看看我是否了解你。你想通过你的活动传递数据吗是的,我想我可以添加一个ListView行