0

これが私のボタンクリックリスナーです

   go.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            // Tab for Photos
            go();
            //photospec.setIndicator(url.getHost().replace("www."," ").replace(".com"," "));
        }
    });

ここに私の go() メソッドがあります

public void go(){
         photospec = tabHost.newTabSpec("");
            // setting Title and Icon for the Tab
        // Intent intent = new Intent(getBaseContext(), SignoutActivity.class);
        // intent.putExtra("EXTRA_SESSION_ID", sessionId);
         //startActivity(intent)
         URL url = null;
        try {
            url = new URL( text.getText().toString());
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        photospec.setIndicator(url.getHost().replace("www."," ").replace(".com"," "));
        photosIntent = new Intent(getBaseContext(),PhotosActivity.class);
        //photosIntent.setClass(this, PhotosActivity.class);
        photosIntent.putExtra("URL1", text.getText().toString());
        photospec.setContent(photosIntent);


            if(counter==0){

            tabHost.addTab(photospec);
            }
            counter++;

    }

このメソッドにはボタンクリックメソッドがあり、名前がgo()入っている関数を呼び出しています

このgo()方法では、タブを作成していますが、意図があります。この意図で、私はいくつかを送ります

別のクラスへの情報。

問題は、最初にボタンをクリックしたときに、データを別のクラスに正常に送信できることです。ただし、2回以上クリックすると、このインテントはデータを他のクラスに送信しません。

4

1 に答える 1

0

問題は、あなたが尋ねてcounter==0から、そのカウンターをインクリメントすることだと思います。ここで何かが欠けていない限り、次回はコードtabHost.addTab(photospec)は呼び出されません。

これはどう:

public void go(){
    TabHost.TabSpec photospec = tabHost.newTabSpec("");
    URL url = null;
    try {
        url = new URL( text.getText().toString()); 
        photospec.setIndicator(url.getHost().replace("www."," ").replace(".com"," "));
        Intent photosIntent = new Intent(getBaseContext(),PhotosActivity.class);
        photosIntent.putExtra("URL1", text.getText().toString());
        photospec.setContent(photosIntent);
        tabHost.addTab(photospec);
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }

}
于 2012-10-27T23:55:25.927 に答える