2012-10-10 100 views
1

我是Android編程中的新成員,我希望構建一個數字校園計劃。爲此,我使用了一些活動。我想要創建一個計劃並在ListView中列出,用戶可以在此控件上的ListView中單擊並查看所有Homeworks等等。如何在Android中填充我的ListView

這裏是我的想法:

enter image description here

我打造爲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; 
    } 
} 

但我不知道如何使用此前的活動數據在我的ListView中的活動。我想用一個SQLite數據庫,但它不工作:(

+0

讓我看看我是否理解你。你想通過SQLite傳遞數據嗎? –

+0

是的我希望我可以添加一個ListView行 – Tarasov

回答

1

有多種方法,通過活動來傳遞數據。既然你存儲你的信息在Bundle我將回答以下是同樣的邏輯。

如果你沒有注意到,你保存在意圖的額外捆綁您的信息,您createPlan方法之後,你開始說Intent

根據官方文檔: 「...演員 - 此。是任何附加信息的捆綁包,這可以使用d向組件提供擴展信息。例如,如果我們有一個發送電子郵件的動作,我們也可以在這裏包含額外的數據以提供主題,主體等...

因此,要獲得該信息,您可能需要使用getIntent().getExtras()ListenActivity裏面收回你Bundle然後你通過你使用使用getIntent().getExtras().getString(your_key)存儲計劃的名稱的鍵

例如:

public class ListenActivity extends ListActivity { 

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

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

    //...your stuff 
} 

}

我不建議使用SQLite來存儲少量的數據。如果你真的想使用它,有很好的例子here