2015-05-31 83 views
1

我正尝试创建一个可以在其中创建任务列表的Android应用程序。当您单击“添加新任务”按钮时,它会创建一个带有下面复选框的按钮。然后,如果再次单击它,则会在之前创建的另一个下创建另一个。如何使用另一个按钮创建按钮

新创建的按钮将带您进入一项活动,该活动允许您输入任务标题,任务截止日期和任务描述。

我是Android Studio的新手,并且只使用过Visual Studio,这不像这个程序那么复杂。

我知道如何使用另一个按钮使用Java中的JFrames/JButtons创建按钮,但不是在Android Studio中。

我也不确定如何将其设置为每个新创建的按钮都有自己创建的活动的位置。

回答

0

这听起来更像是你需要有一个新的任务片段,你添加到你的活动在scrollview布局。允许您在自己的上下文中管理每项任务。允许您为要启动的活动启动新的意图。

0

您可以使用ListView,您可以在其中对复选框进行自定义行视图。 这可以通过使用一个简单的List来填充ListView来实现。当您单击“添加新任务”按钮并在您的适配器上拨打notifyDataSetChanged()时,将项目添加到列表中。

可能的代码:

Data.class(A级型号为标题,到期日期,描述)

public class Data { 

    String title, dueDate, description; 

    public void setTitle(String title){ 
     this.title = title; 
    } 
    public void setDesc(String desc){ 
     this.description = description; 
    } 
    public void setDue(String due){ 
     this.dueDate = due; 
    } 
    public void getTitle(){ 
     return title; 
    } 
    public void getDesc(){ 
     return description; 
    } 
    public void getDue(){ 
     return dueDate; 
    } 
} 

在您的活动创建,

List<Data> items = new ArrayList<>();

说,您的ListViewAdapter实例被称为taskAdapter, 使用items作为您在Adapter中的数据集。 通过getView()上的CheckBox使您的自定义视图膨胀。

而且,比方说你的按钮实例叫做addTaskButtononClick()的做法一样。

Data data = new Data(); 
items.add(data); 
taskAdapter.notifyDataSetChanged(); 

而且,定义一个onListItemClicked监听器,你将有items的索引。将索引传递给新的Activity以收集数据并使用onActivityResult()来更新索引的数据。

+0

他不需要将这些按钮保存以供将来使用SharedPreferences或数据库吗? – SmulianJulian

+0

他可以很好地保存他的数据库中的项目列表,并使用光标在列表中再次加载它们。 – siriscac