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 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 回答