2013-03-27 4 views
0

나는 특정 정보를 얻었을 때 BroadcastReceiver을 가지고 있는데, 활동 내에서 버튼을 누르기를 원합니다.백그라운드 클래스의 푸시 버튼

이 활동 내 목록의 버튼 삭제 \ 업데이트 행입니다.

어떻게 할 수 있습니까?

나는 이런 식으로 뭔가를 시도 :

// trying to invalidate !!! 

    try {    
    Target_Activity ti = new Target_Activity(); 
    ti.refresh.performClick();  
    Log.d("Pleaase", "work"); 
     } catch (Exception e) { 

     } 

하지만 그 작동하지, 내 생각 엔 내가 방법을 어떻게 든 활동의 컨텍스트를 제공해야하지만, 난 정말 모르겠입니다.

가능한 경우 새로 고침 버튼을 Target_Activity에 삽입하면됩니다.

답변

0

MainActivity를로드하면 ActivityB로 이동하고 ActivityB는 MainActivity에서 생성 된 버튼을 클릭하십시오. 클릭하려는 버튼이 null이 아닌지 확인해야합니다.

행운

MainActivity

package com.example.testproject; 

    import android.app.Activity; 
    import android.content.Intent; 
    import android.os.Bundle; 
    import android.view.Menu; 
    import android.view.View; 
    import android.view.View.OnClickListener; 
    import android.widget.Button; 
    import android.widget.RelativeLayout; 
    import android.widget.Toast; 

    public class MainActivity extends Activity { 

     RelativeLayout lyt; 
     public static Button button; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
      lyt = (RelativeLayout) findViewById(R.id.main); 
      button = new Button(this); 
      button.setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View v) { 
        Toast.makeText(MainActivity.this, "clicked the button", 
          Toast.LENGTH_SHORT).show(); 
       } 
      }); 
      lyt.addView(button); 
      Intent i = new Intent(MainActivity.this, ActivityB.class); 
      startActivity(i); 
     } 

     @Override 
     public boolean onCreateOptionsMenu(Menu menu) { 
      // Inflate the menu; this adds items to the action bar if it is present. 
      getMenuInflater().inflate(R.menu.main, menu); 
      return true; 
     } 

    } 

ActivityB

package com.example.testproject; 

    import android.app.Activity; 
    import android.os.Bundle; 
    import android.widget.Button; 

    public class ActivityB extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     MainActivity a = new MainActivity(); 
     Button button = MainActivity.button; 
     button.performClick(); 
    } 
    } 

매니페스트

<?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.testproject" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="17" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.example.testproject.MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name="com.example.testproject.ActivityB" > 
     </activity> 
    </application> 

    </manifest>