4

MainActivity.javaで作成された3つのタブを持つAndroidアプリを開発しています。すべてのタブには独自のアクティビティがあります。これらのアクティビティには、「Refresh()」というメソッドがあり、そのタブのリストビューを更新します。ユーザーがボタンをクリックすると、メソッド「refreshTab(Viewv)」が呼び出されます。

// Tab refreshen
public void refreshTab (View v) {
    Activity MyActivity = this.getCurrentActivity();        
    MyActivity.Refresh();       
}

これは、「メソッドRefresh()はタイプActivityに対して未定義です。ただし、「MyActivity」はタブアクティビティで埋められています。これを機能させるにはどうすればよいですか?」

4

2 に答える 2

3

アクティビティを自分のタイプのアクティビティにキャストする必要があります。現在、「更新」機能を備えていないAndroidクラスアクティビティを呼び出そうとしています。

于 2012-12-20T12:34:03.257 に答える
0

ボタンハンドラーは少し複雑です(2行しかないのに)...

次のようなことをしてください。

// Tab refreshen
public void refreshTab (View v) {  
    Refresh();       
}

定義した方法OnClickListenerが直接インラインである場合(ただし、アクティビティのクラス内にある場合)、少し方向を追加する必要がある場合があります。ここMyClassTypeで、拡張するクラスの名前は次のActivityとおりです。

// Tab refreshen
public void refreshTab (View v) {  
    MyClassType.this.Refresh();       
}
于 2012-12-20T12:43:05.520 に答える