0

クリックされたボタンに応じてcontent1またはcontent2で検索するWebサイトを解析しようとしています。私はうまく機能するアルゴリズムを持っていますが、2つのクラスでそれを作るように頼まれました。アルゴリズム全体を変更させないことを願っています。しかし、それでも、新しいアクティビティに文字列パラメータを送信するのに問題があり、嫌いでした。

グローバルパラメータを定義しました:

String content1;
String content2;

「namesurname」と「district」という名前のEditTextで文字列を取得する必要があります。

content1 = district.getText().toString();
content2 = namesurname.getText().toString();

リスナーを持つ2つのボタンがあります。

    search1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent search = new Intent(FirstActivity.this, SecondActivity.class);
            search.putExtra("param_a", content1);
                    startActivity(search);
        }               
    });
    search2.setOnClickListener(new View.OnClickListener() {         
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent search = new Intent(AvukatParserActivity.this, ParserActivity.class);
            search.putExtra("param_b", content2);
        startActivity(search);
        }
    });

これから、SecondActivity.classが表示されます。

私は新しい活動に熱心に取り組もうとしています:

    Intent search = getIntent();
    String location = search.getStringExtra("param_a");
    String name_surname = search.getStringExtra("param_b");

コンテンツを確認する方法は次のとおりです1:

Toast.makeText(this, location, Toast.LENGTH_LONG).show();

content2と同じくらいnullを味わいます。エラーも警告もありません。間違っていることがわかりません。前もって感謝します。

4

3 に答える 3

1

この行を入れて

 search1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           content1 = district.getText().toString(); //if district is gloaal and has been set in onCreate
            Intent search = new Intent(FirstActivity.this, SecondActivity.class);
            search.putExtra("param_a", content1);
                    startActivity(search);
        }               
    });
于 2012-06-08T08:19:23.203 に答える
0
  1. 各リスナーは、両方ではなく1つの値のみをインテントに入れ、トーストはそのうちの1つのみを表示します。

  2. このコードについて:

    content1 = district.getText().toString();
    content2 = namesurname.getText().toString();
    

    onClickメソッド内に配置し、それが役に立ったかどうかを教えてください。そこに古い値を入れていると思いますので、更新された値ではなくnullになります。

于 2012-06-08T08:22:41.730 に答える
0

できるよ

Bundle bundle=new Bundle();//make it global
search1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           content1 = district.getText().toString(); //if district is gloaal and has been set in onCreate
            Intent search = new Intent(FirstActivity.this, SecondActivity.class);
            bundle.putString("param_a",content1);
            search.putExtras(bundle);
                    startActivity(search);
        }               
    });
search2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           content2 = namesurname.getText().toString(); //if district is gloaal and has been set in onCreate
            Intent search = new Intent(FirstActivity.this, SecondActivity.class);
            bundle.putString("param_b",content2);
            search.putExtras(bundle);
                    startActivity(search);
        }               
    });

2番目のアクティビティonCreate

Budle bundle=this.getIntent().getExtras();

String username=bundle.getString("param_b");
String location=bundle.getString("param_a");
于 2012-06-08T08:37:34.870 に答える