[我在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中定义为-] >
@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中删除它: