java - 我无法访问以找到R.id.title1或R.id.title2

时间:2016-05-15 16:52:06

标签: android android-layout

我正在尝试访问TextViewImageView,但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;


}

here is my packages picture Please see

2 个答案:

答案 0 :(得分:0)

R类可能会导致错误,但是当它导致错误时,它会显示错误,因为所有的“R”陈述是红色的。

你可以再检查2件事。

1)Android省电模式
看看下面的截图。它指定Android Studio省电模式。如果检查到您遇到同样的问题,因为无法访问ID,因为它会关闭Android Studio的智能感知以提高用户性能。

要访问Android省电模式,您需要左键单击右下角的小安卓图标,如下图所示 Android Power Save Mode

请取消选中(省电模式)并保持导入弹出窗口,如下图所示。Android Power Save Mode turned Off
2)访问ID的快捷方式
如果您无法立即访问ID,则可以立即按"Ctrl + Space",以便在由于任何其他原因未显示该列表时显示该列表。

答案 1 :(得分:-1)

您正在从java所在的其他包中导入R类。您不必导入R类,因为它是自动生成的。