gpt4 book ai didi

java - 使布局可点击,并启动一个 Intent

转载 作者:行者123 更新时间:2023-11-30 08:51:08 24 4
gpt4 key购买 nike

我想让我的布局可以点击,我认为这很容易,但我遇到了一些问题。这是我的 xml 代码:

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#0D47A1"
android:id="@+id/mylayout"
android:clickable="true"
android:onClick="layout">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="sometext"/>

</RelativeLayout>

和Java代码:

public void layout (View view){
Intent myintent = new Intent(this, some.class);
startActivity(myintent);
}

当我运行该应用程序并按下布局时,它崩溃了,并且我收到一个非法状态异常。

我的日志:

 java.lang.IllegalStateException: Could not find a method layout(View) in the activity class android.view.ContextThemeWrapper for onClick handler on view class android.widget.RelativeLayout with id 'mylayout'

Caused by: java.lang.NoSuchMethodException: layout [class android.view.View]

我做错了什么?

最佳答案

像下面的代码一样在您的 xml 中进行更改:

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#0D47A1"
android:id="@+id/mylayout">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="sometext"/>

</RelativeLayout>

在你这样的 Activity 中

    RelativeLayout relativeLayout;

public class YourActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.NameOfLayout);

relativeLayout = (RelativeLayout)findViewById(R.id.mylayout);

relativeLayout.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent myintent = new Intent(getApplicationContext(), some.class);
startActivity(myintent);
}
});
}

关于java - 使布局可点击,并启动一个 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30685867/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com