2014-11-02 56 views
0

我已經寫了一個程序顯示一個列表視圖,當我的列表視圖一個新的活動應顯示其還有一個列表視圖的項目點擊如何使用arraylist在列表視圖的項目上單擊時顯示列表視圖?

MainAactivity

我在這裏通過在ListView的日子陣列顯示完美,並在itemclick另一個活動打開,並在我的新活動,我想要一個列表視圖與我在列表中添加的元素,就像當我點擊星期一時,我只需要星期一在我的新列表視圖,當我點擊星期二我只需要在我的新的列表視圖中的星期二,我嘗試了這個程序在textview的幫助下工作正常,但是我想用listview的幫助來嘗試它,需要一些幫助

public class MainActivity extends Activity { 

ListView list; 
final ArrayList<String> arraylist = new ArrayList<>(); 
ArrayAdapter<String> adapter; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    list = (ListView) findViewById(R.id.listview1); 


     arraylist.add("Monday"); 
     arraylist.add("Tuesday"); 
     arraylist.add("Wednesday"); 
     arraylist.add("Thursday"); 
     arraylist.add("Friday"); 
     arraylist.add("Saturday"); 
     arraylist.add("Sunday"); 


    final String[] days = { "Monday", "Tuesday", "Wednesday", "Thursday", 
      "Friday", "Saturday", "Sunday" }; 
    adapter = new ArrayAdapter<String>(getBaseContext(), 
      android.R.layout.simple_list_item_1, days); 

    list.setAdapter(adapter); 
    list.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 
      // TODO Auto-generated method stub 

      Intent intent = new Intent("com.demo.listview.LIST"); 
      intent.putExtra("name", arraylist); 
      intent.putExtra("name", arraylist); 



      startActivity(intent); 

     } 
    }); 

我List.java具有其中我想通過一個顯示一個ArrayList中的元素,當我具體的項目單擊第一個列表視圖

public class List extends Activity { 
ListView lv; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.list); 
    lv = (ListView) findViewById(R.id.listView1); 

    Intent intent = getIntent(); 
ArrayList<String> arr = (ArrayList<String>)intent.getStringArrayList("name"); 

} 
} 

我知道我是一個第二列表視圖在我的活動中都出錯 歡迎任何建議

回答

1

在您的MainActivity,沒有必要有

final String[] days = { "Monday", "Tuesday", "Wednesday", "Thursday", 
     "Friday", "Saturday", "Sunday" }; 

您可以設置ArrayList的直接ArrayAdapter這樣的,

 adapter = new ArrayAdapter<String>(getBaseContext(), 
      android.R.layout.simple_list_item_1, arraylist); 

對於onItemClick,

  Intent intent = new Intent("com.demo.listview.LIST"); 
      intent.putExtra("name", arraylist.get(position)); 
      startActivity(intent); 

對於列表活動,再次你se,

final ArrayList<String> arraylist = new ArrayList<String>(); 

and inside onCreate,試試這個。

Intent intent = getIntent(); 
    String day = intent.getStringExtra("name"); 
    arraylist.add(day); 
    adapter = new ArrayAdapter<String>(getBaseContext(), 
      android.R.layout.simple_list_item_1, arraylist); 

讓我們知道這是否適合你。

+0

非常感謝先生,它的工作 – 2014-11-02 17:59:33

+0

很高興在這裏:) – Chitrang 2014-11-02 18:02:00

0

@Arjun:沒有必要在第一個活動中添加一個數組列表。 如果您只想將點擊的項目移動到您的第二個活動,然後使用 intent.putExtra(days [position]) onItemClick函數給出接收點擊的項目的位置。 然後在第二個活動中使用額外的意圖....但是如果您知道在第二個活動中只顯示一個項目,那麼在列表中顯示單個項目有什麼需要?第二個活動的Textview是一個更好的選擇。

+0

你好,歡迎來到[so]!花點時間瀏覽[導覽]和[幫助]。你的回答有點難以遵循。你可以編輯它,使其更清晰(拼寫和語法)。 – Tritium21 2014-11-02 17:43:36

+0

是的,先生我知道這就是我在描述中提到的,我已經嘗試過使用textview,它的工作原理,但我想嘗試一個列表視圖,只是一個嘗試先生,想學習每一種可能的方式來顯示一個項目,無論它是一個textview,listview或imageview – 2014-11-02 18:05:26

相關問題