クリックリスナーで複数のボタンを使用できるようにするにはどうすればよいですか。私は2つのボタンで試してみましたが、クリックリスナーを既に定義していたので、クリックリスナーで別のボタンを作成することはできませんでした。私がこれまで持っているコードは次のとおりです。複数のボタンリスナーに複数のボタンを追加する
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.View;
import android.widget.LinearLayout;
public class MainActivity extends AppCompatActivity {
private View btnRender;
private LinearLayout container;
private View btnRendered;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnRender = (View)findViewById(R.id.btn_render);
container = (LinearLayout)findViewById(R.id.fragment_layout);
btnRendered = (View) findViewById(R.id.btn_rendered);
//set event handling for button
btnRender.setOnClickListener(onClickListener());
}
private View.OnClickListener onClickListener() {
return new View.OnClickListener() {
@Override
public void onClick(View v) {
//replace fragment when clicked
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment_layout, new PDFRenderFragment());
ft.commit();
//gone button after all
btnRender.setVisibility(View.GONE);
container.setVisibility(View.VISIBLE);
}
};
}
}
btn_rendered
は私がのためにクリック上のリスナーを設定したい他のボタンですが、ソフトウェアは私がこれを行うことはできません。それが機能するためにスイッチケースの方法を設定する必要があるのは本当ですか?
私はちょうど両方のコードを試してみましたが、どれも希望の効果がなかったようです。今すぐボタンの1つをクリックすると、2番目のpdfが常に表示されます。 (私がボタンを使っていたもの)
そのボタンのコードも追加します。コンパイルエラーを表示します。 – greenapps
これは奇妙に聞こえます。もう1つのリスナーを他のボタンに追加しようとしたコードを投稿できますか? – user6547359
'btnRender.setVisibility(View.GONE);'。他のボタンが押されたときにそのボタンを非表示にしたいのですか? – greenapps