-1

私は2つをリンクしようとして少しコーディングしてきましたがactivties、ほぼそこにいますが、問題が発生しました。

コーディングの行に到達できません。誰でも理由を説明できますか?

package com.example.twolink

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    getActionBar().setDisplayHomeAsUpEnabled(true);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}  

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            NavUtils.navigateUpFromSameTask(this);
            return true;
    }
    return super.onOptionsItemSelected(item);

    Button button2 = (Button) findViewById(R.id.button2);
    button2.setOnClickListener(new OnClickListener() {          
        public void onClick(View v) {
            startActivity(new Intent(getApplicationContext(), MainActivity2.class));
            finish();
        }   
    });
} 
4

2 に答える 2

2

ではonOptionsItemSelected(...)、ブロックreturn super.onOptionsItemSelected(item);の直後にいます。switchこの時点で、メソッドは終了します。それ以降は到達不能コードです。

于 2013-01-12T03:25:34.150 に答える
0

次のように、onCreateメソッドでボタンを初期化します。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button button2 = (Button) findViewById(R.id.button2);
    button2.setOnClickListener(new OnClickListener() {          

    public void onClick(View v) {
        startActivity(new Intent(getApplicationContext(), MainActivity2.class));
        finish();
    }  
    getActionBar().setDisplayHomeAsUpEnabled(true);
}

最初にボタンを非表示にする場合は、を使用してsetVisibility(View.GONE)ボタンの表示を切り替えます。その後、後で表示したい場合は、他の場所で表示できsetVisibility(View.VISIBLE)ます。

于 2013-01-12T03:33:27.327 に答える