Java 我的一个安卓操作系统工作不好
你好,亲爱的StackOverflow社区!!! 在开发我最近的应用程序项目时,我在调试应用程序时发现了一些问题。在我的项目中,我想通过两个活动传递一个数据元素。在我选择应用程序中的WatchingActivity之前,一切看起来都很好(没有错误或其他东西)。它不显示网络视图,只显示空白,而PartActivity中应该有视频选项。请帮忙Java 我的一个安卓操作系统工作不好,java,android,webview,Java,Android,Webview,你好,亲爱的StackOverflow社区!!! 在开发我最近的应用程序项目时,我在调试应用程序时发现了一些问题。在我的项目中,我想通过两个活动传递一个数据元素。在我选择应用程序中的WatchingActivity之前,一切看起来都很好(没有错误或其他东西)。它不显示网络视图,只显示空白,而PartActivity中应该有视频选项。请帮忙 public class MainActivity extends AppCompatActivity { String clipname;
public class MainActivity extends AppCompatActivity {
String clipname;
ImageView ka;
ImageView jb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ka = (ImageView) findViewById(R.id.imageView1);
jb = (ImageView) findViewById(R.id.imageView2);
}
public void imageView1Clicked(View view) {
// method that is signed in layout file to be called by clicking on imageView1
clipname="Kendra's Adventure";
Intent mainintent = new Intent(this, ChooseAPartActivity.class);
mainintent.putExtra("CLIP", clipname);
startActivity(mainintent);
}
public void imageView2Clicked(View view) {
clipname="Johhny Big";
Intent mainintent = new Intent(this, ChooseAPartActivity.class);
mainintent.putExtra("CLIP", clipname);
startActivity(mainintent);
}
}
public class ChooseAPartActivity extends AppCompatActivity {
TextView title;
TextView part1;
TextView part2;
TextView part3;
TextView part4;
TextView part5;
TextView part6;
String videoname;
String partnumber;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_choose_a_part);
title.findViewById(R.id.textView);
title.findViewById(R.id.textView);
Intent mainintent = getIntent();
String clipname = mainintent.getStringExtra("CLIP");
title.setText(clipname);
videoname = clipname;
}
public void partone (View view) {
//method assigned to textview in layout file
partnumber = "one";
Intent partintent = new Intent(this, WatchingActivity.class);
partintent.putExtra("PART", videoname);
partintent.putExtra("NUMBER", partnumber);
startActivity(partintent);
}
public void parttwo (View view) {
partnumber = "two";
Intent partintent = new Intent(this, WatchingActivity.class);
partintent.putExtra("PART", videoname);
partintent.putExtra("NUMBER", partnumber);
startActivity(partintent);
}
public void partthree (View view) {
partnumber = "three";
Intent partintent = new Intent(this, WatchingActivity.class);
partintent.putExtra("PART", videoname);
partintent.putExtra("NUMBER", partnumber);
startActivity(partintent);
}
public void partfour (View view) {
partnumber = "four";
Intent partintent = new Intent(this, WatchingActivity.class);
partintent.putExtra("PART", videoname);
partintent.putExtra("NUMBER", partnumber);
startActivity(partintent);
}
public void partfive (View view) {
partnumber = "five";
Intent partintent = new Intent(this, WatchingActivity.class);
partintent.putExtra("PART", videoname);
partintent.putExtra("NUMBER", partnumber);
startActivity(partintent);
}
public void partsix (View view) {
partnumber = "six";
Intent partintent = new Intent(this, WatchingActivity.class);
partintent.putExtra("PART", videoname);
partintent.putExtra("NUMBER", partnumber);
startActivity(partintent);
}
}
public class WatchingActivity extends AppCompatActivity {
String clipkey;
WebView screen;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_watching);
Intent sceneintent = getIntent();
String videoname = partintent.getStringExtra("PART");
String partnumber = sceneintent.getStringExtra("NUMBER");
if(videoname == "Kendra's Adventure"){
if(partnumber == "one"){
clipkey = "<iframe width=\"95%\" height=\"95%\" src=\"links work fine i tried it many times so its not that\" frameborder=\"0\" allowfullscreen></iframe>";
}
}
else if(videoname == "Johnny Big"){
if(partnumber == "one") {
clipkey = "<iframe width=\"95%\" height=\"95%\" src=\"\" frameborder=\"0\" allowfullscreen></iframe>";
}
else if(partnumber == "two"){
clipkey = "<iframe width=\"95%\" height=\"95%\" src=\"\" frameborder=\"0\" allowfullscreen></iframe>";
}
}
screen=(WebView)findViewById(R.id.webView);
screen.getSettings().setJavaScriptEnabled(true);
String myvideokey = clipkey;
screen.loadData(myvideokey, "text/html", "utf-8");
screen.setWebChromeClient(new WebChromeClient(){
});
}
}
public类MainActivity扩展了AppCompatActivity{
字符串clipname;
ImageView-ka;
ImageView jb;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ka=(ImageView)findViewById(R.id.imageView1);
jb=(ImageView)findViewById(R.id.imageView2);
}
已单击公共无效图像视图1(视图){
//方法,该方法通过单击imageView1在要调用的布局文件中签名
clipname=“肯德拉的冒险”;
Intent maintent=新的Intent(选择此选项,选择PartActivity.class);
maintent.putExtra(“CLIP”,clipname);
星触觉(主旨);
}
已单击公共无效图像视图2(视图){
clipname=“johny Big”;
Intent maintent=新的Intent(选择此选项,选择PartActivity.class);
maintent.putExtra(“CLIP”,clipname);
星触觉(主旨);
}
}
公共类ChooseAPartActivity扩展了AppCompatActivity{
文本视图标题;
文本视图第1部分;
文本视图第2部分;
文本视图第3部分;
文本视图第4部分;
文本视图第5部分;
文本视图第6部分;
字符串videoname;
字符串部件号;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u choose\u a\u part);
title.findViewById(R.id.textView);
title.findViewById(R.id.textView);
Intent maintent=getIntent();
String clipname=maintent.getStringExtra(“CLIP”);
title.setText(clipname);
videoname=clipname;
}
公共无效第一部分(视图){
//在布局文件中指定给textview的方法
partnumber=“一”;
Intent partintent=newintent(这是WatchingActivity.class);
partintent.putExtra(“部分”,视频名称);
partintent.putExtra(“编号”,零件号);
开始触觉(部分内容);
}
公共空间第二部分(视图){
partnumber=“2”;
Intent partintent=newintent(这是WatchingActivity.class);
partintent.putExtra(“部分”,视频名称);
partintent.putExtra(“编号”,零件号);
开始触觉(部分内容);
}
公共空间第三部分(视图){
partnumber=“三”;
Intent partintent=newintent(这是WatchingActivity.class);
partintent.putExtra(“部分”,视频名称);
partintent.putExtra(“编号”,零件号);
开始触觉(部分内容);
}
公共空间第四部分(视图){
partnumber=“四”;
Intent partintent=newintent(这是WatchingActivity.class);
partintent.putExtra(“部分”,视频名称);
partintent.putExtra(“编号”,零件号);
开始触觉(部分内容);
}
公共空间第五部分(视图){
partnumber=“五”;
Intent partintent=newintent(这是WatchingActivity.class);
partintent.putExtra(“部分”,视频名称);
partintent.putExtra(“编号”,零件号);
开始触觉(部分内容);
}
公共空间第六部分(视图){
零件号=“六”;
Intent partintent=newintent(这是WatchingActivity.class);
partintent.putExtra(“部分”,视频名称);
partintent.putExtra(“编号”,零件号);
开始触觉(部分内容);
}
}
公共类监视活动扩展了AppCompatingActivity{
字符串clipkey;
网络视图屏幕;
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_-watching);
Intent scenecontent=getIntent();
String videoname=partintent.getStringExtra(“部分”);
字符串partnumber=sceneintent.getStringExtra(“编号”);
if(videoname==“肯德拉的冒险”){
如果(零件号=“一”){
clipkey=“”;
}
}
else if(videoname==“约翰尼·比格”){
如果(零件号=“一”){
clipkey=“”;
}
否则,如果(零件号=“2”){
clipkey=“”;
}
}
screen=(WebView)findviewbyd(R.id.WebView);
screen.getSettings().setJavaScriptEnabled(true);
字符串myvideokey=clipkey;
screen.loadData(myvideokey,“text/html”,“utf-8”);
screen.setWebChromeClient(新WebChromeClient(){
});
}
}
看电视时那条线行吗?没有partintent字段或其他内容
在同一个类文件中定义所有活动并不是一个好主意。它是
公共的
所以不是这样。所以,我不知道它是从何处收到的。正确的方法是从activity Start intent传递这样的数据,然后使用getIntent()方法接收。如果您是对的,那么在这两种情况下都应该有编译时错误,或者干脆忘记videoname.equals(“Kendra的冒险”)的那部分。可能重复的不使用==来比较字符串,使用String.equals()我还建议您检查iframe是否将与Android WebViews配合使用请参见:
String videoname = partintent.getStringExtra("PART");