我已将linearlayer设置为可点击,并希望它像按钮一样运行并启动新活动。但是我得到了错误。这是.xml
的一部分 <LinearLayout
android:id="@+id/llproduct1"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:orientation="vertical" android:clickable="true">
<ImageView .... />
<TextView .... />
</LinearLayout>
这是.java 按钮bProduct1 =(按钮)findViewById(R.id.llproduct1); bProduct1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent("com.testing.PRODUCTDESCRIPTION"));
}
出了什么问题?
答案 0 :(得分:0)
Button bProduct1 = (Button) findViewById(R.id.llproduct1);
您无法将LinearLayout转换为按钮。但你可以这样做:
LinearLayout bProduct1 = (LinearLayout) findViewById(R.id.llproduct1);
bProduct1.setOnClickListener(...)
答案 1 :(得分:0)
“bProduct1 =(Button)findViewById(R.id.llproduct1);”
是错误的类投射'llproduct1'是LinearLayout !!不是按钮。
因此java代码会导致ClassCastException。
onClick方法在View类中声明 LinearLayout和Button都继承了View类。
那你为什么不修改下面的代码。
View bProduct1 = findViewById(R.id.llproduct1);
bProduct1.setOnClickListener(......);