2014-12-03 51 views
-3

節電器是Button。當我點擊它時,我想從EditText獲取數據,將它發送到另一個Activity並顯示在ListView;但它沒有顯示,我不知道該怎麼辦。如何在listview中顯示數據?

在mainActivity

if (v == saver) { 
    String textData = reminder.getText().toString(); 

    Intent intent3 = new Intent(CreateActivity.this, ViewActivity.class); 
    intent3.putExtra(textData, "key1"); 
    startActivity(intent3); 
} 

在列表活動

ListView list; 
ArrayList<String> taskslist; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_view); 
    list = (ListView) findViewById(R.id.listView1); 
    taskslist = new ArrayList<String>(); 
    final ArrayAdapter<String> adapter = new ArrayAdapter(this, 
      android.R.layout.simple_list_item_1, taskslist); 

    list.setAdapter(adapter); 
    try { 
     String recivedData; 

     Intent intentt; 
     intentt = getIntent(); 

     recivedData = intentt.getExtras().getString("key1"); 
     taskslist = intentt.getStringArrayListExtra(recivedData); 

    } catch (Exception e) { 
     // TODO: handle exception 
    } 
    // adapter.notifyDataSetChanged(); 
} 

回答

0

您應該更新您的數據集,然後調用notifyDataSetChanged更新您的列表,或設置adapter

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_view); 
    list = (ListView) findViewById(R.id.listView1); 
    taskslist = new ArrayList<String>(); 
    taskslist = getIntent().getString("key1").getStringArrayListExtra(recivedData); 
    final ArrayAdapter<String> adapter = new ArrayAdapter(this, 
      android.R.layout.simple_list_item_1, taskslist); 

    list.setAdapter(adapter); 

} 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_view); 
    list = (ListView) findViewById(R.id.listView1); 
    taskslist = new ArrayList<String>(); 
    final ArrayAdapter<String> adapter = new ArrayAdapter(this, 
      android.R.layout.simple_list_item_1, taskslist); 

    list.setAdapter(adapter); 
    try { 
     String recivedData; 

     Intent intentt; 
     intentt = getIntent(); 

     recivedData = intentt.getExtras().getString("key1"); 
     taskslist = intentt.getStringArrayListExtra(recivedData); 

    } catch (Exception e) { 
     // TODO: handle exception 
    } 
    adapter.setData(tasklist); // update data set 
    adapter.notifyDataSetChanged(); 
} 
+0

它不工作之前填充您的列表 – rrr 2014-12-03 22:19:36

+0

檢查'意圖'的額外。它裏面有數據嗎? – 2014-12-03 22:25:12

+0

String textData = reminder.getText()。toString(); \t \t \t Intent intent3 = new Intent(CreateActivity.this,ViewActivity.class); \t \t \t intent3.putExtra(textData,「key1」); \t \t \t startActivity(intent3); – rrr 2014-12-03 22:47:03

0

代替:

taskslist = intentt.getStringArrayListExtra(recivedData); 

嘗試增加以taskslist並通知適配器:

taskslist.addAll(intentt.getStringArrayListExtra(recivedData)); 
adapter.notifyDataSetChanged(); 
+0

它不工作 – rrr 2014-12-03 22:20:21

相關問題