我的Android应用程序上有两个按钮。一个完美工作(ViewLogs)另一个(OfflineSync)没有 - 代码是相同的,我没有错误?
package com.teamtba.hcpm;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class ViewLogs extends Activity {
//Buttons
Button ViewLogs;
Button btnOfflineSync;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.view_account)
btnOfflineSync = (Button)findViewById(R.id.btnSyncOffline);
ViewLogs = (Button)findViewById(R.id.btnCreateLog);
// Hashmap for ListView
btnOfflineSync.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent tr = new Intent(ViewLogs.this, CreateLog.class);
startActivity(tr);
}
});
ViewLogs.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View arg0) {
Intent i = new Intent(ViewLogs.this, CreateLog.class);
startActivity(i);
}
});
btnOfflineSync.setVisibility(View.GONE);
我已经删除了那里的其他代码但是如果你想看到它我可以发布它(它主要是其他没有调用按钮的函数。
我尝试过XML,但每次都会产生错误并导致应用崩溃。
答案 0 :(得分:1)
您有btnOfflineSync.setVisibility(View.GONE);
你是如何发送onClick事件的?
答案 1 :(得分:0)
班级名称 ViewLogs 和按钮名称 ViewLogs 相同,将按钮名称更改为
答案 2 :(得分:0)
- 首次重拍:
活动与按钮的名称相同,因此请尝试更改按钮的名称(以查看日志)
- 第二次重拍: 两个按钮的动作具有相同的功能(意图启动CreateLogs.class)。 因此,您可以使用一个函数(onClick):
btnOfflineSync.setOnClickListener(this);
viewLogs.setOnClickListener(this);
//
}
public void onClick(View v) {
Intent tr = new Intent(ViewLogs.this, CreateLog.class);
startActivity(tr);
}
并且不要忘记实施OnClickListener
- 第三次重拍:
你在onclickListener之后写btnOfflineSync.setVisibility(View.GONE);
(??)你如何发送onClick事件?你可以删除这一行,使你的按钮可见
public class ViewLogs extends Activity {
//Buttons
Button viewLogs; //button name changed
Button btnOfflineSync;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.view_account)
btnOfflineSync = (Button)findViewById(R.id.btnSyncOffline);
viewLogs = (Button)findViewById(R.id.btnCreateLog); //button name changed
// Hashmap for ListView
btnOfflineSync.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent tr = new Intent(ViewLogs.this, CreateLog.class);
startActivity(tr);
}
});
viewLogs.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View arg0) {
Intent i = new Intent(ViewLogs.this, CreateLog.class);
startActivity(i);
}
});