2013-04-08 27 views
6

Tôi muốn vượt qua một chuỗi từ một hoạt động khác, trong một trong số họ tôi đã viếtNhận chuỗi từ lợi nhuận android bó là null

public void pdfView (File f) {

// f is: /data/data/com.example.iktabClasses/files/fileName.pdf 

Intent intent = new Intent(getApplicationContext(),NewPdfActivity.class); 

intent.putExtra("filename", f); 

    startActivity(intent); 

} 

và trong Hoạt động khác tôi đã viết:

Bundle b=getIntent().getExtras(); 

     if (b != null) { 

     filename = getIntent().getStringExtra("filename"); 

     System.out.println("filename: "+filename); 
    } 

nhưng tên tệp luôn trả về là 'không'. Cách giải quyết vấn đề này? Cảm ơn trước. //////////////////

tôi đã làm cho nó như

Intent intent; 
    Bundle b = new Bundle(); 

    b.putString("filename", f.toString()); 

    intent = new Intent(getApplicationContext(),NewPdfActivity.class); 

    intent.putExtras(b); 

    startActivity(intent); 

và Bây giờ nó hoạt động

Trả lời

15

thử cách này

Intent intent = new Intent(first.this, second.class); 

Bundle bundle = new Bundle(); 
bundle.putInt("index", index); 

intent.putExtras(bundle);startActivity(intent); 

sau đó nhận được nó như

Bundle b = getIntent().getExtras(); 
int index = b.getInt("index"); 
+1

Cảm ơn, Mã của bạn hướng dẫn tôi. –

+1

Cảm ơn, Mã của bạn đã hướng dẫn tôi. – teardrop

1

trong hoạt động khác của bạn, thay vì sử dụng

filename = getIntent().getStringExtra("filename"); 

thử sử dụng

filename = b.getString("filename"); 

Điều đó sẽ giải quyết vấn đề của bạn.

Các vấn đề liên quan