2016-12-25 46 views
-1

我對主要活動一個按鈕的onclick應該開始一個活動無法啓動按鈕的活動點擊

MainActivity.java

public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 


public void onButtonClick(View v){ 

    if(v.getId()==R.id.lbutton) 
    { 
     Intent i = new Intent(MainActivity.this,Display.class); 
     startActivity(i); 
    } 
} 
} 

lbutton是按鈕的ID

Display.java

public class Display extends Activity { 

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.secondsc); 
} 
} 

secondsc.xml是一個佈局文件,其中包含n EW活動

的Manifest.xml

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

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".Display"> 
     <intent-filter> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 
+1

'findViewById(R.id.lbutton).setOnClickLIstener(新OnClickLIstener(){無效的onClick(視圖v){onButtonClick至(v) }});' – RadekJ

+3

正如我可以看到你沒有'setOnClickListener(this)',並沒有使活動實現'View.OnClickListener' - 你在xml中設置了android:onClick =「onButtonClick」屬性嗎? –

回答

3

去除意向過濾器DisplayActivity在你的manifest文件:

<intent-filter> 
     <category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 

並註冊clickListener按鈕

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     findViewById(R.id.lbutton).setOnClickLIstener(new OnClickLIstener(){ 
      void onClick (View v) { 
       onButtonClick(v); 
      } 
     }); 
    } 
0

您需要添加該按鈕的事件監聽器。您可以實現View.OnClickListener接口和實現onClick方法(好的,如果你有需要聽衆多個按鈕),或使用匿名類:

btn.setOnClickListener(new View.OnClickListener() { 
    onClick (View v) { 

    } 
} 
0

確實正在執行的OnButtonClick?我建議做這種方式:

Button lButton = (Button) findViewById(R.id.lButton); 
lButton.setOnClickListener(new OnClickListener() { 
    onClick(View view) { 
     Intent i = new Intent(MainActivity.this,Display.class); 
     startActivity(i); 
    } 
} 

-Daniel