Android onClick在实现View.OnclickListener的类内从未被调用
我读过与此类似的答案。但这并没有解决问题。这是一个问题场景。 MainActivity包含此片段Android onClick在实现View.OnclickListener的类内从未被调用,android,Android,我读过与此类似的答案。但这并没有解决问题。这是一个问题场景。 MainActivity包含此片段 public class HomeFragment extends Fragment implements View.OnClickListener{ @Override public void onClick(View view){ Log.v("TAG",""+view.getId()); //No log message shown switch(v
public class HomeFragment extends Fragment implements View.OnClickListener{
@Override
public void onClick(View view){
Log.v("TAG",""+view.getId()); //No log message shown
switch(view.getId()){
.....
}
}
}
片段XML
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/coordinatorLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/app_background">
<ImageView
android:id="@+id/imageview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_man" />
<TextView
android:id="@+id/textview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5.0dip"
android:layout_toRightOf="@id/imageview"
android:text="@string/personname"
android:textColor="@color/textcolor"
android:textSize="25.0sp" />
</RelativeLayout>
</LinearLayout>
根据我对Onclicklistener实现的理解,在视图中的任何位置单击都应该记录消息(此处)。没有使用scrollview上的嵌套视图。我认为您忘记使用:
myButton.setOnClickListener(此)代码>
按钮位于此布局片段_home.xml内
<Button
android:id="@+id/myButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
我想你忘了使用:myButton.setOnClickListener(这个)代码>
按钮位于此布局片段_home.xml内
<Button
android:id="@+id/myButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
在您的onCreateView()中添加以下行
您的onClick()如下所示
@Override
public void onClick(View view){
Log.v("TAG",""+view.getId()); //No log message shown
switch(view.getId()){
// Add your View ID here.
case R.id.textview:
Toast.makeText(this, "TextView Clicked", Toast.LENGTH_SHORT).show();
break;
}
}
希望这将对您有所帮助:)在您的onCreateView()中添加以下行
您的onClick()如下所示
@Override
public void onClick(View view){
Log.v("TAG",""+view.getId()); //No log message shown
switch(view.getId()){
// Add your View ID here.
case R.id.textview:
Toast.makeText(this, "TextView Clicked", Toast.LENGTH_SHORT).show();
break;
}
}
希望这能对你有所帮助:)但是你必须通过你观点的Id。我做了..那不起作用请看下面我的答案并让我知道。但是你必须通过你观点的Id。我做了..那不起作用请看下面我的答案并让我知道。是否有必要做所有需要听一听一听的观点?你能再解释一下吗,“我没听懂你的话吗?”拉拉夫洛:是的。通常的做法是为每个需要listener@LaraFlow看一个例子,是否有必要做所有必须听onClick的观点?你能再解释一点吗,我没听懂吗?@LaraFlow是的。通常的做法是为每个需要listener@LaraFlow请参阅以获取示例