2012-10-10 2 views
2

String을 하나의 인 텐트에서 다른 인 텐트로 가져 오려고했습니다. 나는 이미 그랬지만 항상 오류를 찾으려고 노력했다. 여기에 내 코드 : JadwalKeberangkatan 클래스하나의 인 텐트에서 다른 인 텐트로 안드로이드의 문자열을 가져 오는 방법

public class JadwalKeberangkatan extends Activity { 

Intent intent = getIntent(); 
String asal = intent.getExtras().getString("asal"); 
String tujuan = intent.getExtras().getString("tujuan"); 
String tanggal = intent.getExtras().getString("tanggal"); 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.jadwal);  
    TextView tx1 = (TextView)findViewById(R.id.textView1); 
    tx1.setText(asal); 
    TextView tx2 = (TextView)findViewById(R.id.textView2); 
    tx2.setText(tujuan); 
    TextView tx3 = (TextView)findViewById(R.id.textView3); 
    tx3.setText(tanggal); 
    }  
} 

에 대한

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

btnCari.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
    String getAsal = txtAsal.getText().toString(); 
      String getTujuan = txtTujuan.getText().toString(); 

      String words[] = getAsal.split(" "); 
      String last = words[words.length - 1]; // parsing asal 
      String s = last.replaceAll(Pattern.quote("("), ""); 
      String s1 = s.replaceAll(Pattern.quote(")"), ""); 
      String asal = s1; 

      String word[] = getTujuan.split(" "); 
      String lastw = word[word.length - 1]; // parsing tujuan 
      String t = lastw.replaceAll(Pattern.quote("("), ""); 
      String t1 = t.replaceAll(Pattern.quote(")"), ""); 
      String tujuan = t1; 

      //get tanggal 
      int day = dtKeb.getDayOfMonth(); 
      int month = dtKeb.getMonth() + 1; 
      int year = dtKeb.getYear(); 
      String hari = Integer.toString(day); 
      String bulan = Integer.toString(month); 
      String tahun = Integer.toString(year); 
      String tanggal = ""+hari+"-"+bulan+"-"+tahun; 

      Bundle bundle = new Bundle(); 
      bundle.putString("asal", asal); 
      bundle.putString("tujuan", tujuan); 
      bundle.putString("tanggal", tanggal); 

      startActivity(i); 
     } 
} 

여기에 코드를 내가 의도 의도를 제거하는 경우 = getIntent(); tx1을 "hello"로 설정하면이 프로그램이 제대로 실행됩니다. 그래서 다른 의도에서 문자열을 얻으려면 어떻게해야합니까?

+0

무엇이 오류입니까? – kosa

+0

나는이 코드를 시도했지만 여전히 오류가 발생했습니다. 주요 활동과 페잔 활동은 일하지만 자드 발케 른 카탄은 여전히 ​​오류입니다. 나는 그 오류의 스크린 샷을 가지고 있지만이 코멘트를 어떻게 넣을 지 모릅니다. –

답변

2

활동에 전달 된 의도가 아니라 번들로 3 개의 문자열을 넣을 것입니다.

Bundle bundle = new Bundle(); 
bundle.putString("asal", asal); 
bundle.putString("tujuan", tujuan); 
bundle.putString("tanggal", tanggal); 

startActivity(i); 

할 : 대신에

i.putExtra("asal", asal); 
i.putExtra("tujuan", tujuan); 
i.putExtra("tanggal", tanggal); 

그런 다음 문자열은 실제로 다음 활동으로 얻을 것이다.

관련 문제