2

あるインテントから別のインテントに文字列を取得しようとしました。私はすでにそれを取得しようとしましたが、常にエラーです。ここに私のコード:

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);
        }
 }

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);
   }    
}

インテントを削除するとインテント = getIntent(); 次に、tx1 を「hello」に設定すると、このプログラムは正しく実行されています。別のインテントから文字列を取得するにはどうすればよいですか?

4

1 に答える 1

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);

その後、文字列は実際に次のアクティビティに到達します。

于 2012-10-10T02:10:46.370 に答える