我在xml文件中使用了约束布局。我有一个类似例子中的视图。Imageview和textview。我希望这两个在点击后有相同的动作。怎么才能把两者组合在一起,给他们一个id?
xml:
<ImageView
android:id="@+id/menu_drawerLogout"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginStart="20dp"
android:layout_marginTop="8dp"
android:src="@drawable/ic_menu_exit"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/view6" />
<TextView
android:id="@+id/menu_drawerLogout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="16dp"
android:layout_marginTop="17dp"
android:text="@string/sign_out_text"/>
XML布局资源文件中不能有两个id相同的组件。
如果您希望两者都具有相同的操作,请将公共<code>onClickListener</code>设置为两者相同,
XML
<ImageView
android:id="@+id/imageView"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginStart="20dp"
android:layout_marginTop="8dp"
android:src="@drawable/ic_menu_exit"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/view6" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="16dp"
android:layout_marginTop="17dp"
android:text="@string/sign_out_text"/>
onCreate方法内部
ImageView imageView = findViewById(R.id.imageView);
TextView textView = findViewById(R.id.textView);
View.OnClickListener myListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// action
}
});
imageView.setOnClickListener(myListener);
textView.setOnClickListener(myListener);
您可以将这两个视图放在一个容器中,然后为该容器设置一个< code>onClickListener
XML
<LinearLayout
android:id="@+id/container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginStart="20dp"
android:layout_marginTop="8dp"
android:src="@drawable/ic_menu_exit"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/view6" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="16dp"
android:layout_marginTop="17dp"
android:text="@string/sign_out_text"/>
</LinearLayout>
在创建内部
LinearLayout layout = findViewById(R.id.container);
View.OnClickListener myListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// action
}
});
layout.setOnClickListener(myListener);
考虑下面的代码:
<TextView
android:id="@+id/location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="0dp"
android:layout_marginTop="12dp" />
<ImageView
android:id="@+id/location"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_marginStart="33dp"
android:layout_marginTop="5dp"
app:srcCompat="@drawable/openLoc" />
可以,但不推荐。设置ID时,元素可以通过ID轻松识别,如android:ID=“@ID/txtLocation”和android:ID=“@ID/imgLocation”。通过读取ID,可以轻松识别元素类型。您可以通过在开头添加布局名称,如android:ID=“@ID/profiletxtloction”,使识别更加容易。现在,这将有助于您的编码,因为自动完成功能将帮助您。只需键入布局名称,您将获得所有布局元素的列表,然后您将键入元素的类型。您将获得布局中所有要求元素的列表(es:TextView)。
我正在W3School页面中尝试一个简单的案例查询。 http://www.w3schools.com/sql/trysql.asp?filename=trysql_select_groupby_2 当我运行下面的查询时,我总是为所有的范围值“over”。如果价格低于500,则应显示“under”。
我正在将某些程序集打包到 msi 包中。在执行此操作时,我要求将一些程序集放入本地文件系统以及目标计算机的 GAC 中。众所周知,在这种情况下,重复文件表将无济于事。我决定将程序集放在具有不同标识符的 CAB 文件中两次。现在,为了填充组件表,我有不同的组件标识符,但我没有用于类似程序集的不同组件 GUID。我的问题是,如果我为具有不同组件标识符(在组件表中)的条目保持GUID(因为基本上程序集是
我有两个文件命名为文章和类别。我使用SEO URL结构生成了一个URL格式。样品: 实例com/文章标题 实例com/类别标题 代码: 但有一个问题。我不能同时使用两种url格式。htaccess文件。他看到第一行,但忽略了另一行。但是我想对这两个文件使用相同的格式。你能帮忙吗?
我有两个类,它们具有相同的类名并使用相同的包名。但是,这两个类文件位于不同的目录中。这两个类之间的另一个不同之处是,每个类中都有其他类中没有的方法。本质上,我想将这些方法拆分为两个使用相同名称但不同文件夹的单独文件。 理论上,我认为这是可能的,因为Java编译器在构建输出时确实维护了目录结构。所以在运行时,如果在类中调用了一个方法,Java可能会在任何一个文件中找到该方法。 这可能吗?我使用的是I
我想创建一个包含所有价格选项的列表,并将唯一的值放在下拉列表中,所以我这样做: 此代码引发错误: 警告:遇到具有相同键的两个子项。键应该是唯一的,以便组件在更新时维护它们的标识。非唯一键可能导致重复和/或省略子键-此行为不受支持,并且可能在未来版本中更改。 从到 更新我也添加到它呈现的地方。 和SearchHandlerPrice:
我有一个png非压缩文件(600KBytes),我正试图保存为JPG,以减少android应用程序的大小。 null null 谢谢你。