Onclick上的Android无法正常工作

时间:2014-02-25 21:09:01

标签: android

我的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,但每次都会产生错误并导致应用崩溃。

3 个答案:

答案 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);
            }

        });