2013-12-07 65 views
3

我目前正在學習Android應用程序開發,我對如何使用Intent有點困惑。我正在嘗試製作一個「待辦事項列表」應用程序。我現在的問題是,我希望能夠在我的待辦事項列表中點擊該項目以進入Edit Item頁面。在Android中使用意圖

這是我到目前爲止。

ToDoActivity.java

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_to_do); 
    etNewItem = (EditText) findViewById(R.id.etNewItem); 
    lvItems = (ListView) findViewById(R.id.lvItems);  // now we have access to ListView 
    readItems();  // read items from file 
    todoAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, todoItems); //create adapter 
    lvItems.setAdapter(todoAdapter);  // populate listview using the adapter 
    setupListViewListener(); 
    setupEditItemListener(); 

} 

我要推出的活動被稱爲EditItemListener。這些是我玩Intent的兩個功能。現在我只是測試如何顯示EditItemActivity。

private void launchEditItem() { 
    Intent i = new Intent(this, EditItemActivity); 
    startActivity(i); 
} 


private void setupEditItemListener() {   // on click, run this function to display edit page 
    lvItems.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      launchEditItem(); 
     } 
    }); 
} 

回答

2

你應該將它指定爲一類

Intent i = new Intent(this, EditItemActivity.class);

此外,如果你想殺死設置OnItemClickListener一個ListView當前活動

使用finish()StartActivity()

+0

很好的回答,除了不使用'finish'。讓Android處理它。 – m0skit0

+0

@Arju我正在閱讀,我發現某處說,如果我想回到原來的活動。我會在我的「Intent」鏈接的第二個活動中使用'finish()'。不確定讓Android處理它是什麼意思。 – Liondancer

+0

如果您想回到此活動,則無需使用完成,否則您必須釋放活動持有的資源 –

1

並在聽衆上做這個

Intent i = new Intent(this, YourActivity.class); //where you are (this) and where you go (YourAcitivity.class) 
startActivity(i); //Now GO! 

意圖將啓動另一個活動,這一活動必須在AndroidMainfest.xml聲明