Android Studio Manifest活动名称高亮显示为红色
MainActivity.Java
public class MainActivity extends Activity {
ListView list;
String[] web = {
"Finans",
"Sınav",
"Eğitim"
};
Integer[] imageId = {
R.drawable.home,
R.drawable.home,
R.drawable.home
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CustomList adapter = new CustomList(MainActivity.this, web, imageId);
list = (ListView) findViewById(R.id.list);
list.setAdapter(adapter);
}
}
CustomList.Java
public class CustomList extends ArrayAdapter<String> {
private final Activity context;
private final String[] web;
private final Integer[] imageId;
public CustomList(Activity context,
String[] web, Integer[] imageId) {
super(context, R.layout.activity_main, web);
this.context = context;
this.web = web;
this.imageId = imageId;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView= inflater.inflate(R.layout.activity_main, null, true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.txt);
ImageView imageView = (ImageView) rowView.findViewById(R.id.img);
txtTitle.setText(web[position]);
imageView.setImageResource(imageId[position]);
return rowView;
}
}
在清单文件中看到的活动名称下划线为红色。当我在手机上编译和运行它在手机上崩溃Android工作室没有向我显示错误。这个清单有什么问题我无法理解。
答案 0 :(得分:0)
确保您的活动的软件包目录如下:com.deneme2.uygulama1.MainActivity
您在com.deneme2.uygulama1
代码中定义了基本软件包名称(manifest
)。 AndroidManifest.xml
中定义的活动应该在此基础包之下。
答案 1 :(得分:0)
答案 2 :(得分:0)
确保您在项目的清单和项目包结构中处理以下几点:
属性: - android:name
&#34;实现活动的类的名称,Activity的子类。属性值应该是完全限定的类名(例如,&#34; com.example.project.ExtracurricularActivity&#34;)。但是,作为简写,如果名称的第一个字符是句点(例如,&#34; .ExtracurricularActivity&#34;),它将附加到元素中指定的包名称。 &#34;请参阅https://developer.android.com/guide/topics/manifest/activity-element.html
希望这有帮助
答案 3 :(得分:0)
检查清单和活动类中的packename。还有&#34; CustomList.Java&#34; class是一个ArrayAdapter。您无法在AndroidManifest.xml中将ArrayAdapter注册为Activity。所以,删除&#34; CustomList&#34; AndroidManifest.xml中的类注册。
答案 4 :(得分:-1)