我正在开发一个项目,可以在其中创建文件夹以创建待办事项列表。 我创建了两个不同的列表活动,一个用于文件夹,另一个用于待办事项列表。 当我点击要在待办事项列表上重定向的文件夹标题时,我想要。我使用了intent方法但是当我点击一个文件夹时,我被移动到同一个待办事项列表中。如何更改要在待办事项列表上移动,但要作为新的开放?此外,我正在为文件夹标题的每个位置使用if语句,如果我不知道用户将创建多少个文件夹,如果我想知道我将创建多少个文件,该怎么办?
待办事项列表活动:
public class viewTasksActivity extends ListActivity {
private Button addButton;
private AnyNoteManagerApplication app;
private TaskListAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tasks_main);
setUpViews();
app = (AnyNoteManagerApplication)getApplication();
adapter = new TaskListAdapter(app.getCurrentTasks(), this);
setListAdapter(adapter);
}
@Override
protected void onResume(){
super.onResume();
adapter.forceReload();
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
adapter.toggleTaskCompleteAtPosition(position);
}
private void setUpViews() {
addButton = (Button)findViewById(R.id.add_task_button);
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(viewTasksActivity.this, AddTaskActivity.class);
startActivity(intent);
}
});
}
}
文件夹列表aCtivity
public class MainActivity extends ListActivity {
private Button addButton;
private AnyNoteManagerApplication app;
private FolderListAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setUpViews();
app = (AnyNoteManagerApplication)getApplication();
adapter = new FolderListAdapter(app.getCurrentFolders(), this);
setListAdapter(adapter);
}
@Override
protected void onResume(){
super.onResume();
adapter.forceReload();
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
if(position == 0) {
//code specific to first list item
Intent myIntent = new Intent(MainActivity.this, viewTasksActivity.class);
startActivity(myIntent);
}
if(position == 1) {
//code specific to first list item
Intent myIntent = new Intent(MainActivity.this, viewTasksActivity.class);
startActivity(myIntent);
}
/*Intent taskList = new Intent(MainActivity.this, viewTasksActivity.class);
startActivity(taskList);*/
}
private void setUpViews() {
addButton = (Button)findViewById(R.id.add_folder_button);
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, AddFolderActivity.class);
startActivity(intent);
}
});
}
}
提前谢谢大家。
答案 0 :(得分:0)
那应该开辟新的活动。我认为您在其他活动中的数据没有更新,这就是为什么新的活动似乎没有被打开的原因。您可以这样做以为您的意图添加值:
Bundle bundle = new Bundle();
bundle.putString("key", "some string value");
intent.putExtras(bundle);
startActivity(intent);
然后在您打开的活动中获取您发送的值:
String sent_value = getIntent().getExtras().getString("key");
修改强>
您可以将所有列表视图值添加到数组中,并在列表onItemClick中,您可以像这样获取您单击的项目:
list_values.get(position);