我试图让我的Textview左对齐已经尝试过。但android:gravity="left"什么也没发生。
这是我的 XML 代码:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/textView11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="1"
android:text="Email:"
android:textSize="20dp"/>
<EditText
android:id="@+id/editTextAddress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="@drawable/bg"
android:hint="Enter Address"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 我有这个错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean
java.lang.String.equals(java.lang.Object)' on a null object reference
Binary XML file line #0: Attempt to invoke virtual method 'boolean
java.lang.String.equals(java.lang.Object)' on a null object reference
Run Code Online (Sandbox Code Playgroud)
我看到了很多代码示例,但没有区别。
错误发生在这一行:
row = inflater.inflate(R.layout.list_item, parent, false);
Run Code Online (Sandbox Code Playgroud)
请问有什么建议吗?
@Override
public View getView(int position, View row, ViewGroup parent){
DataHandler handler = new DataHandler();
try {
if (row == null) {
LayoutInflater inflater = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row = inflater.inflate(R.layout.list_item, parent, false);
handler.poster = (ImageView) row.findViewById(R.id.movieImage);
handler.title = (TextView) row.findViewById(R.id.movieTitle);
handler.rating = …Run Code Online (Sandbox Code Playgroud) 我目前遇到了一个相对复杂的基于 ConstraintLayout 的设计实现的复杂情况。
该设计是一排项目,如上所示。这些行是静态的,并根据某些数据相关条件显示/隐藏。
我遇到的问题是,我还没有找到一种可靠的方法来正确包含布局中的分隔线/屏障之间的每一行。
正如您在上图中看到的,我的约束布局不符合预期的障碍/分隔线。我在下面包含了此布局的 XML。
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<ImageView
android:id="@+id/timeIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_clock"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/timeTextView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textColor="#FF354052"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@id/statusTextView"
app:layout_constraintStart_toEndOf="@+id/textGuideline"
app:layout_constraintTop_toTopOf="parent"
tools:text="4:20 PM" />
<com.weedmaps.driver.android.view.StatusTextView
android:id="@+id/statusTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="4dp"
android:paddingEnd="27dp"
android:paddingStart="27dp"
android:paddingTop="4dp"
android:textAllCaps="true"
android:textSize="12sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:background="@color/accepted_blue" />
<android.support.constraint.Barrier
android:id="@+id/headerDividerTopBarrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="top"
app:constraint_referenced_ids="headerDivider" />
<!-- / end delivery status section -->
<android.support.constraint.Barrier
android:id="@+id/deliveryStatusSectionBottomBarrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="statusTextView, timeTextView, timeIcon" />
<View
android:id="@+id/headerDivider"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#FFE6EAEE"
app:layout_constraintTop_toBottomOf="@id/deliveryStatusSectionBottomBarrier"
app:layout_constraintBottom_toTopOf="@id/destinationInfoSectionTopBarrier" /> …Run Code Online (Sandbox Code Playgroud) 我有这个问题,而您可以在图像中看到,即使我添加了“layout_below”,项目仍然在很远的地方,我不知道它为什么会发生或如何修复它,我可以通过添加填充来部分修复它,但我不想用这种方法修复,我想要一个通用的修复
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ShoppingPackage.ProductsListActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="16dp"
android:id="@+id/IntroLayout">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:text="@string/browse"
android:textSize="36sp"
android:textColor="@android:color/black"
android:id="@+id/welcome_back"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/welcome_back"
android:text="@string/products_list"
android:textColor="@android:color/black"
android:textSize="12sp"
android:id="@+id/categoryName"/>
</RelativeLayout>
<GridView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/IntroLayout"
android:id="@+id/productsrecycler"
android:background="#3C3C3C"
android:numColumns="2"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
这是第二个 XML 文件:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:cardCornerRadius="5dp"
app:cardElevation="10dp"
app:cardBackgroundColor="#222222">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="180dp"
android:layout_height="180dp"
android:id="@+id/productImageView"
android:scaleType="fitXY"
android:layout_centerHorizontal="true"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/product_name"
android:id="@+id/productName"
android:layout_below="@id/productImageView"
android:layout_centerHorizontal="true"
android:textSize="18sp"
android:textColor="@android:color/white"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/product_price"
android:id="@+id/productPrice"
android:layout_below="@id/productName"
android:layout_centerHorizontal="true"
android:textColor="@android:color/white" />
</RelativeLayout>
</android.support.v7.widget.CardView> …Run Code Online (Sandbox Code Playgroud) 我的 recyclerview 仅显示 ArrayList 中的第一个项目,当我调试适配器时,它显示 getItemCount() 为 3,看起来不错,据我所知没有运行错误,请帮助:
\n\n这是我的适配器
\n\nclass MyAdapter(private val myDataset: ArrayList<String>) :\n RecyclerView.Adapter<MyAdapter.Holder>() {\n\n\n override fun onCreateViewHolder(parent: ViewGroup,\n viewType: Int): Holder {\n\n val view = LayoutInflater.from(parent.context)\n .inflate(R.layout.list_item, parent, false)\n\n return Holder(view)\n }\n\n\n override fun onBindViewHolder(holder: Holder, position: Int) {\n holder.textView?.text = myDataset[position]\n }\n\n\n override fun getItemCount() = myDataset.size\n\n\n class Holder(itemView: View) : RecyclerView.ViewHolder(itemView) {\n var textView:TextView? = null\n\n init {\n textView = itemView.findViewById(R.id.name)\n }\n\n }\n\n\n}\nRun Code Online (Sandbox Code Playgroud)\n\n这是片段:
\n\nclass FragmentList1 : Fragment() {\n\n var myArrayList: …Run Code Online (Sandbox Code Playgroud) android android-layout android-fragments kotlin android-recyclerview
这是在主布局中编写的代码
<LinearLayout
android:layout_width="match_parent"
android:layout_height="100dp"
android:orientation="vertical"
>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我需要在这个父布局中有两个线性布局,这样父布局就会分成两半。
我无法从主要活动中访问 XML 中的元素,写入元素 id 会引发错误,就好像该元素根本不存在一样。基本上 Main 无法看到 XML 文件中写入的内容,即使它们是链接的。
我想在卡片视图中添加页脚。
我当前在 RecyclerView 中的 XML 布局是这样的:
(此 xml 代码充当 RecyclerView 中的行)
代码:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.v7.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_margin="@dimen/activity_margin_half"
app:cardBackgroundColor="@color/placeholder_grey"
app:cardCornerRadius="6dp"
app:cardPreventCornerOverlap="false">
<ProgressBar
android:id="@+id/movie_progress"
style="@style/Widget.AppCompat.ProgressBar"
android:layout_width="@dimen/activity_margin"
android:layout_height="@dimen/activity_margin"
android:layout_gravity="center"
android:theme="@style/CircularProgress"/>
<ImageView
android:id="@+id/movie_poster"
android:layout_width="@dimen/poster_thumb_width"
android:layout_height="@dimen/poster_thumb_height"/>
</android.support.v7.widget.CardView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="bottom"
android:layout_marginTop="@dimen/activity_margin"
android:background="@drawable/bg_round_rect"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_margin"
android:paddingEnd="@dimen/activity_margin"
android:paddingLeft="@dimen/poster_thumb_width"
android:paddingRight="@dimen/activity_margin"
android:paddingStart="@dimen/poster_thumb_width"
android:paddingTop="@dimen/activity_margin_half">
<TextView
android:id="@+id/movie_year"
style="@style/TextAppearance.AppCompat.Caption"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_margin_content"
android:layout_marginStart="@dimen/activity_margin_content"
android:alpha="0.38"
android:gravity="start"
android:maxLines="1"
android:textStyle="bold"
android:textColor="#f14e4e"
tools:text="2009 | EN"/>
<TextView
android:id="@+id/movie_title"
style="@style/TextAppearance.AppCompat.Subhead"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_margin_content"
android:layout_marginStart="@dimen/activity_margin_content"
android:layout_marginTop="@dimen/activity_margin_quarter"
android:textColor="#9b92b3"
android:maxLines="1" …Run Code Online (Sandbox Code Playgroud) 我创建了一个圆角可绘制资源round_corner_bg.xml:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF"/>
<stroke android:width="3dp" android:color="#B1BCBE" />
<corners android:radius="10dp"/>
<padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
我将它应用于我的LinearLayout:
<LinearLayout ...>
android:background="@drawable/round_corner_bg"
...
Run Code Online (Sandbox Code Playgroud)
它工作正常。但是,它环绕了所有四个角,我怎样才能使它只环绕左上角和右上角?
编辑: 我想摆脱的栏是顶部的栏,上面写着测试。我要更改的文本颜色是用户输入的“testing@gmail.com”文本:
这是我的登录活动的 XML(我使用了 android studio 提供的默认登录活动):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.uname.myapp.LoginActivity">
<!-- Login progress -->
<ProgressBar
android:id="@+id/login_progress"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:visibility="gone" />
<ScrollView
android:id="@+id/login_form"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/email_login_form"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<AutoCompleteTextView
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/prompt_email"
android:inputType="textEmailAddress"
android:maxLines="1"
android:singleLine="true" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/prompt_password"
android:imeActionId="6"
android:imeActionLabel="@string/action_sign_in_short"
android:imeOptions="actionUnspecified"
android:inputType="textPassword"
android:maxLines="1"
android:singleLine="true" />
</android.support.design.widget.TextInputLayout>
<Button
android:id="@+id/email_sign_in_button"
style="?android:textAppearanceSmall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/action_sign_in"
android:textStyle="bold" />
</LinearLayout>
</ScrollView> …Run Code Online (Sandbox Code Playgroud) android android-layout android-studio android-styles android-studio-3.0