Kri*_*ris 23 java android android-intent android-activity
我必须按照代码选择按钮点击时的布局.
View.OnClickListener handler = new View.OnClickListener(){
public void onClick(View v) {
switch (v.getId()) {
case R.id.DownloadView:
// doStuff
setContentView(R.layout.main);
break;
case R.id.AppView:
// doStuff
setContentView(R.layout.app);
break;
}
}
};
findViewById(R.id.DownloadView).setOnClickListener(handler);
findViewById(R.id.AppView).setOnClickListener(handler);
Run Code Online (Sandbox Code Playgroud)
当我单击"AppView"按钮时,布局会发生变化,但是当我单击"DownloadView"按钮时,没有任何反应.
这个链接说我必须开始一项新的活动.
但我不知道如何使用意图开始新活动的代码,是否会添加新文件?
编辑:我有关于新活动的代码:
package com.example.engagiasync;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
public class AppView extends Activity implements OnClickListener{
@Override
public void onCreate(Bundle savedInstanceState){
setContentView(R.layout.app);
TextView tv = (TextView) this.findViewById(R.id.thetext);
tv.setText("App View yo!?\n");
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用,强行关闭,logcat说:
Hou*_*ine 21
Button btnDownload = (Button) findViewById(R.id.DownloadView);
Button btnApp = (Button) findViewById(R.id.AppView);
btnDownload.setOnClickListener(handler);
btnApp.setOnClickListener(handler);
View.OnClickListener handler = new View.OnClickListener(){
public void onClick(View v) {
if(v==btnDownload){
// doStuff
Intent intentMain = new Intent(CurrentActivity.this ,
SecondActivity.class);
CurrentActivity.this.startActivity(intentMain);
Log.i("Content "," Main layout ");
}
if(v==btnApp){
// doStuff
Intent intentApp = new Intent(CurrentActivity.this,
ThirdActivity.class);
CurrentActivity.this.startActivity(intentApp);
Log.i("Content "," App layout ");
}
}
};
Run Code Online (Sandbox Code Playgroud)
注意:然后您应该在清单.xml文件中声明所有活动,如下所示:
<activity android:name=".SecondActivity" ></activity>
<activity android:name=".ThirdActivity" ></activity>
Run Code Online (Sandbox Code Playgroud)
编辑:更新这段代码:):
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);// Add THIS LINE
setContentView(R.layout.app);
TextView tv = (TextView) this.findViewById(R.id.thetext);
tv.setText("App View yo!?\n");
}
Run Code Online (Sandbox Code Playgroud)
注意:检查此(断开链接)关于如何在活动之间切换的教程.
cw1*_*998 10
我会添加一个android:onClick布局,然后更改活动中的布局.
所以在布局中
<ImageView
(Other things like source etc.)
android:onClick="changelayout"
/>
Run Code Online (Sandbox Code Playgroud)
然后在活动中添加以下内容:
public void changelayout(View view){
setContentView(R.layout.second_layout);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
139662 次 |
| 最近记录: |