1

私のコードのこの部分に問題があります

insertButton = (Button) findByViewId(R.id.button1);  
insertButton.setOnClickListener(new OnClickListener();

findByViewId のメソッドが未定義であり、setOnClickListener のメソッドが適用されず、OnClickListener を解決できないと言い続けているのは私の完全なコードです

package edu.nyp.project;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class AddData extends Activity {
    Button insertButton = null;
    EditText shopText= null;
EditText dealText= null;
EditText locationText= null;
EditText websiteText= null;
EditText categoryText= null;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.adddata);

    insertButton = (Button) findByViewId(R.id.button1);
    insertButton.setOnClickListener(new OnClickListener()
    {
        public void onClick(View v)
        {
            DBAdapter dbAdapter = new
                    DBAdapter(getApplicationContext());
            try{
                dbAdapter.open();

                String shop = shopText.getText().toString(); 
                String deal = dealText.getText().toString(); 
                String location = locationText.getText().toString(); 
                String website = websiteText.getText().toString(); 
                String category = categoryText.getText().toString(); 
            }
            catch(Exception e){
                Log.d("Add Data ", e.getMessage());
            }
            finally{
                if (dbAdapter != null)
                    dbAdapter.close();
            }
        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.adddata, menu);
    return true;
}
}

何が悪いのかわかりますか?

4

5 に答える 5

1

アクティビティの行の下にインポートします

import android.view.View.OnClickListener;
于 2013-02-14T08:15:20.200 に答える
1

変化する:

insertButton.setOnClickListener(new OnClickListener();

代わりは:

insertButton.setOnClickListener(new View.OnClickListener();

insertButton = (Button) findByViewId(R.id.button1);

代わりは:

 insertButton = (Button) findViewById(R.id.button1);
于 2013-02-14T08:06:26.530 に答える
1

試す

insertButton.setOnClickListener(new View.OnClickListener()
{
        public void onClick(View v)
        {
        }
}
于 2013-02-14T08:07:42.140 に答える
0

findViewByIdの代わりにメソッドを使用 しfindByViewIdます。

insertButton = (Button) findViewById(R.id.button1);  
insertButton.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v)
    {
       //Code for action listener.
    }
 });
于 2013-02-14T08:05:36.500 に答える
0

上記のコードについて私が珍しいと思う唯一のことは次のとおりです。

insertButton = (Button) findByViewId(R.id.button1);

したがって、次のように置き換えます。

insertButton = (Button) findViewById(R.id.button1);

コードの残りの部分は問題ありません。以下のコードはまったく問題ありません。

 insertButton.setOnClickListener(new OnClickListener()
    {
        public void onClick(View v)
        {
            DBAdapter dbAdapter = new
                    DBAdapter(getApplicationContext());
            try{
                dbAdapter.open();

                String shop = shopText.getText().toString(); 
                String deal = dealText.getText().toString(); 
                String location = locationText.getText().toString(); 
                String website = websiteText.getText().toString(); 
                String category = categoryText.getText().toString(); 
            }
            catch(Exception e){
                Log.d("Add Data ", e.getMessage());
            }
            finally{
                if (dbAdapter != null)
                    dbAdapter.close();
            }
        }
    });

上記の種類の構文は常に機能します。

于 2013-02-14T08:27:29.120 に答える