在单独的类中添加android按钮的click事件

问题描述 投票:0回答:2

[我在android中有一个按钮,我在fragment_main.xml中将其定义为-

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/love_button_text" 
    android:onClick="onLoveButtonClicked"
    />

main_activity xml文件如下-

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.newa.newapp2.MainActivity"
tools:ignore="MergeRootFrame"         >

    <Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="100sp"
    android:text="@string/a_button" 
    android:onClick="onLoveButtonClicked1"
    />
</FrameLayout> 

现在已定义了onClick事件,我想在一个单独的类文件中定义如下-

public class AndroidLove extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {       
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);     
}

public void onLoveButtonClicked1(View view) {       
    TextView tv = (TextView) findViewById(R.id.anotherText);        
    tv.setVisibility(View.VISIBLE);     
}   
  }

编译正常,但在运行时会引发错误

找不到名为onLoveButtonClicked的事件侦听器

但是,如果我在MainActivity.java中编写函数,此方法就可以正常工作>

有什么想法吗?

谢谢

[我在android中有一个按钮,我在fragment_main.xml中定义为-] >

android android-button
2个回答
1
投票
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_main, container, false); Button button = (Button)view.findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //your code here } } }

最后从您的xml中删除它:


0
投票
并且您正在将activity_main中的内容视图设置为AndroidLove活动。
© www.soinside.com 2019 - 2024. All rights reserved.