Best way to implement View.OnClickListener in android

后端 未结 14 2410
盖世英雄少女心
盖世英雄少女心 2020-11-27 05:25

Suppose we have an Activity with a lot of views on which OnClickListener is to be registered.

The most common way to implement this is to let the Activi

14条回答
  •  渐次进展
    2020-11-27 06:05

    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    Button north,south,east,west;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
        north.setOnClickListener(this);
        south.setOnClickListener(this);
        east.setOnClickListener(this);
        west.setOnClickListener(this);
    }
    
    private void init(){
        north = findViewById(R.id.north);
        south = findViewById(R.id.south);
        east = findViewById(R.id.east);
        west = findViewById(R.id.west);
    }
    
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.north:
                Toast.makeText(MainActivity.this,"NORTH",Toast.LENGTH_SHORT).show();
                break;
            case R.id.south:
                Toast.makeText(MainActivity.this,"SOUTH",Toast.LENGTH_SHORT).show();
                break;
            case R.id.east:
                Toast.makeText(MainActivity.this,"EAST",Toast.LENGTH_SHORT).show();
                break;
            case R.id.west:
                Toast.makeText(MainActivity.this,"WEST",Toast.LENGTH_SHORT).show();
                break;
        }
      }
    }
    

提交回复
热议问题