如何从onCreate中获取OnClickListeners?

时间:2015-07-11 10:52:10

标签: android

如何从onCreate中获取OnClickListeners?我是Android编程的新手,现在我喜欢这样:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    startbutton.setOnClickListener(new View.OnClickListener() { 

        @Override
        public void onClick(View v) {
            pname = edtext.getText().toString();
            regstat = true;
            setContentView(R.layout.activity_studioreg);
        }
    });
}

但是如何在新方法中获取它们以及如何正确使用它们呢?

2 个答案:

答案 0 :(得分:0)

你能做的是 在你的onCreate

startbutton.setOnClickListener(本); 然后 然后实现onclicklistener,如下所示

 public calss Your_Class  implements OnClickListener {

然后

 @Override
 public void onClick(View v) {
   // TODO Auto-generated method stub


   switch(v.getId()){
    case R.id.button1:
    Toast.makeText(getActivity(), "Button 1 clicked!", Toast.LENGTH_SHORT).show();
    break;
    case R.id.button2:

    Toast.makeText(getActivity(), "Button 2 clicked!", Toast.LENGTH_SHORT).show();
     break;
    case R.id.button3:

    Toast.makeText(getActivity(), "Button 3 clicked!", Toast.LENGTH_SHORT).show();
     break;
    case R.id.button4:

    Toast.makeText(getActivity(), "Button 4 clicked!", Toast.LENGTH_SHORT).show();
    break;

   }
 }

您将在xml中设置按钮的ID,如

   <Button
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:textAllCaps="false"
    android:text="Button 1"
    android:textSize="18sp"
    android:layout_height="40dp" />

和其他四个按钮一样。

答案 1 :(得分:0)

您也可以使用ButterKnife API,您的代码将更加清晰:

@OnClick(R.id.start_button)
public void onStartButtonTouched() {
   // TODO
}

regexstorm.net/tester