【发布时间】:2017-08-08 21:02:46
【问题描述】:
我有一个扩展 Activity 的 java 类(不是 AppCompatActivity!)。
现在我想调用一个在 .xml 文件中定义的视图。
我该怎么做?
我的应用程序不断崩溃,但如果我让 .java 类扩展 AppCompatActivity,它不会。
关于如何解决这个问题的任何想法?
遗憾的是它必须扩展 Activity。
.java 类
public class pop extends Activity {
@Override
protected void onResume() {
super.onResume();
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;
int height = dm.heightPixels;
getWindow().setLayout((int) (width * .8), (int) (height * .4)); // Width * 0,8 == 80% der Fenstergröße
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Thats where it fails, because it couldnt get the parent-view.
parent.setBackgroundColor(Color.argb(250,0,0,0));
finish();
}
});
}
}
pop.java
public class pop extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.popup);
}
@Override
protected void onResume() {
super.onResume();
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Thats where it fails, because it couldnt get the parent-view.
parent.setBackgroundColor(Color.argb(250,0,0,0));
finish();
}
});
sure.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
}
}
我已经找到了解决方案,谢谢大家的帮助!我真的很感激!
【问题讨论】:
-
请添加您的堆栈跟踪和您的 popup.xml
-
编辑您的问题以包括堆栈跟踪/日志以及相关布局。这将帮助人们确定原因并提供答案。
-
如果删除
import android.support.v7.app.AppCompatActivity;会发生什么?我不相信您可以从中使用任何东西,因为它是您正在使用的活动。即,当您删除它时查看受影响的内容可能会突出问题/原因。 -
这没什么区别@MikeT,我试过了。
-
尝试用
((RelativeLayout)view.getParent()).setBackgroundColor(Color.argb(250,0,0,0));替换parent.setBackgroundColor(Color.argb(250,0,0,0));
标签: java android android-activity