我正在尝试访问TextView
和ImageView
,但ID不在列表中
我正在关注你的教程https://www.youtube.com/watch?v=yK8RtB6aXC4
这是我的Xml
文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:padding="10dp"
android:layout_height="match_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/home_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/home" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:gravity="center_vertical"
android:orientation="vertical"
>
<TextView
android:id="@+id/title1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:text="Sub Title"
android:textColor="#000"
android:textSize="16sp" />
<TextView
android:id="@+id/title2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="subtitle"
android:textColor="#000"
android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
班级代码
package com.demo.adapter;
import java.util.List;
import com.demo.modles.Navigation;
import com.example.madrobo.R;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class NavigationListAdapter extends ArrayAdapter<Navigation>{
Context context;
int resLayout;
List<Navigation> navigationlist;
public NavigationListAdapter(Context context, int resLayout,
List<Navigation> navigationlist) {
super(context, resLayout, navigationlist);
this.context=context;
this.resLayout=resLayout;
this.navigationlist=navigationlist;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View v=View.inflate(context, resLayout, null);
TextView textview1=(TextView)v.findViewById(R.id);
return v;
}
}
NAvigation Class
package com.demo.modles;
public class Navigation {
private String title;
private String subTitle;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getSubTitle() {
return subTitle;
}
public void setSubTitle(String subTitle) {
this.subTitle = subTitle;
}
public int getResIcon() {
return resIcon;
}
public void setResIcon(int resIcon) {
this.resIcon = resIcon;
}
public Navigation(String title, String subTitle, int resIcon) {
super();
this.title = title;
this.subTitle = subTitle;
this.resIcon = resIcon;
}
private int resIcon;
}
答案 0 :(得分:0)
R类可能会导致错误,但是当它导致错误时,它会显示错误,因为所有的“R”陈述是红色的。
你可以再检查2件事。
1)Android省电模式
看看下面的截图。它指定Android Studio省电模式。如果检查到您遇到同样的问题,因为无法访问ID,因为它会关闭Android Studio的智能感知以提高用户性能。
要访问Android省电模式,您需要左键单击右下角的小安卓图标,如下图所示
请取消选中(省电模式)并保持导入弹出窗口,如下图所示。
2)访问ID的快捷方式
如果您无法立即访问ID,则可以立即按"Ctrl + Space"
,以便在由于任何其他原因未显示该列表时显示该列表。
答案 1 :(得分:-1)
您正在从java所在的其他包中导入R类。您不必导入R类,因为它是自动生成的。