Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse,单击按钮上的新活动_Java_Android_Eclipse_Android Layout_Import - Fatal编程技术网

Java Eclipse,单击按钮上的新活动

Java Eclipse,单击按钮上的新活动,java,android,eclipse,android-layout,import,Java,Android,Eclipse,Android Layout,Import,我是一个初学者,但我想修改一个旧的项目。 在Preferences活动中,已经有一些按钮,但是我想添加一个新按钮,当单击该按钮时,将打开一个新活动并仅显示一个图像 为此,我在清单中声明了此新活动: <activity android:name=".VisualHelpActivity" android:screenOrientation="portrait" android:theme="@style/AppTheme" > </activity> …现在我

我是一个初学者,但我想修改一个旧的项目。 在Preferences活动中,已经有一些按钮,但是我想添加一个新按钮,当单击该按钮时,将打开一个新活动并仅显示一个图像

为此,我在清单中声明了此新活动:

<activity
  android:name=".VisualHelpActivity"
  android:screenOrientation="portrait"
  android:theme="@style/AppTheme" >
</activity>
…现在我要把它连接到“主要”首选项活动中,如下所示:

public class PreferencesActivity extends TranslatableActivity {

    public static String url = "https://www.paypal.com/cgi-bin....";

    ImageView donate;

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
            switch (item.getItemId()) {
            case android.R.id.home:
                    onBackPressed();
                    return true;
            default:
                    return super.onOptionsItemSelected(item);
            }
    }

    @SuppressLint("NewApi")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            setContentView(R.layout.activity_preferences);

            donate = (ImageView) findViewById(R.id.button_donate);
            donate.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                            donate(v);
                    }
            });

            Spinner s = (Spinner) findViewById(R.id.combo_language);
            Lang[] languages = LanguageUtil.Lang.values();

            s.setAdapter(new ArrayAdapter<Lang>(this,
                            android.R.layout.simple_dropdown_item_1line, languages));
            s.setSelection(getPosition(languages, LanguageUtil.getLanguage()), true);
    }

    private int getPosition(Object[] objs, Object item) {
            for (int i = 0; i < objs.length; i++) {
                    if (objs[i] == item)
                            return i;
            }
            return -1;
    }

    public void update(View v) {
            Maintenance.downloadDB(this, new onFinishListener() {

                    @Override
                    public void onFinish() {
                            LanguageUtil.loadLanguage(PreferencesActivity.this);
                    }
            });
    }

    public void copy(View v) {
            Maintenance.copyDB(this, new onFinishListener() {
                    @Override
                    public void onFinish() {
                            LanguageUtil.loadLanguage(PreferencesActivity.this);
                    }
            });
    }

    public void save(View v) {
            LanguageUtil.saveLanguage(this,
                            (Lang) ((Spinner) findViewById(R.id.combo_language))
                                            .getSelectedItem());
            LanguageUtil.loadLanguage(this);
            setResult(RESULT_OK);
            finish();
    }

    public void donate(View v) {
            Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
            startActivity(i);
    }

    public void cancel(View v) {
            finish();
    }

    @Override
    protected void refreshLanguage() {
            ((Button) findViewById(R.id.button_update)).setText(LanguageUtil
                            .getDeviceLabel(LanguageUtil.dev_update));
            ((TextView) findViewById(R.id.language_label))
            .setText(LanguageUtil.getDeviceLabel(LanguageUtil.dev_language));
    }

}

唯一的问题是,如果我尝试添加这个新的
public void
,会弹出多个标记错误,如果我尝试在其他地方包含下面的所有内容,我的应用程序将无法工作。那么,有人能帮我找出在何处以及如何包含此代码部分以使其正常工作吗?

在您的PreferencesActivity类的oncreate方法中添加如下代码:-

Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
setContentView(R.layout.activity_preferences);

donate = (ImageView) findViewById(R.id.button_donate);
donate.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        donate(v);
    }
});


button = (Button) findViewById(R.id.button_visualhelp);
button.setOnClickListener(new OnClickListener() {
    public void onClick(View arg0) {
Intent myIntent = new Intent(PreferencesAtivity.this,
    VisualHelpActivity.class);
    startActivity(myIntent);
    }
});
Spinner s = (Spinner) findViewById(R.id.combo_language);
Lang[] languages = LanguageUtil.Lang.values();

s.setAdapter(new ArrayAdapter<Lang>(this,
        android.R.layout.simple_dropdown_item_1line, languages));
s.setSelection(getPosition(languages, LanguageUtil.getLanguage()), true);
}
按钮;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
setContentView(R.layout.activity_首选项);
捐赠=(ImageView)findViewById(R.id.button\u捐赠);
senate.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
捐赠(五);
}
});
按钮=(按钮)findViewById(R.id.button\u visualhelp);
setOnClickListener(新的OnClickListener(){
公共void onClick(视图arg0){
Intent myIntent=新的Intent(PreferencesAtivity.this,
VisualHelpActivity.class);
星触觉(myIntent);
}
});
微调器s=(微调器)findViewById(R.id.combo\u语言);
Lang[]languages=LanguageUtil.Lang.values();
s、 setAdapter(新阵列适配器)(此,
android.R.layout.simple_dropdown_item_1line,languages));
s、 setSelection(getPosition(languages,LanguageUtil.getLanguage()),true);
}

您的按钮是在VisualHelpActivity XML文件中还是在PreferencesActivity XML文件中?顺便说一下,这只是一条友好的建议。如果你有一台像样的机器,可以使用Android Studio。如果你有一个英特尔处理器也很好,因为新的仿真器(在最新版本中)非常棒。我的按钮在PreferencesActivity xml上,应该会触发VisualHelpActivity xml,我不能使用Android studio,因为我需要迁移我的项目,我不是很好,这不好,我在androidbegin.com上填写了与我如何理解相关的代码,但似乎我理解得不是很好,因为当我尝试按照您的建议填写时,我得到了一个错误,即
Intent myIntent=new Intent(PreferencesAtivity.this,VisualHelpActivity.class)首选项不能解析为类型。我还想问一下
public void onClick(View arg0)
,arg0是什么意思?这是一个视图,您按得很糟糕,没有注意代码的正确性,没有检查就复制/粘贴了代码。我错过了PreferencesAtivity中的一个“c”。这是
,因此代码现在编译正确,但按钮仍然无法调用新活动(没有给出错误,只有应用程序崩溃。arg0在查看新活动中起到任何作用吗?正如我提到的,新活动只包括显示图像,上面的代码对于图像“调用”是正确的活动?
public class VisualHelpActivity extends TranslatableActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_visualhelp);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.visual_help, menu);
            return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
            // Handle action bar item clicks here. The action bar will
            // automatically handle clicks on the Home/Up button, so long
            // as you specify a parent activity in AndroidManifest.xml.
            int id = item.getItemId();
            if (id == R.id.action_settings) {
                    return true;
            }
            return super.onOptionsItemSelected(item);
    }

    @Override
    protected void refreshLanguage() {
    }
}
public class PreferencesActivity extends TranslatableActivity {

    public static String url = "https://www.paypal.com/cgi-bin....";

    ImageView donate;

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
            switch (item.getItemId()) {
            case android.R.id.home:
                    onBackPressed();
                    return true;
            default:
                    return super.onOptionsItemSelected(item);
            }
    }

    @SuppressLint("NewApi")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            setContentView(R.layout.activity_preferences);

            donate = (ImageView) findViewById(R.id.button_donate);
            donate.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                            donate(v);
                    }
            });

            Spinner s = (Spinner) findViewById(R.id.combo_language);
            Lang[] languages = LanguageUtil.Lang.values();

            s.setAdapter(new ArrayAdapter<Lang>(this,
                            android.R.layout.simple_dropdown_item_1line, languages));
            s.setSelection(getPosition(languages, LanguageUtil.getLanguage()), true);
    }

    private int getPosition(Object[] objs, Object item) {
            for (int i = 0; i < objs.length; i++) {
                    if (objs[i] == item)
                            return i;
            }
            return -1;
    }

    public void update(View v) {
            Maintenance.downloadDB(this, new onFinishListener() {

                    @Override
                    public void onFinish() {
                            LanguageUtil.loadLanguage(PreferencesActivity.this);
                    }
            });
    }

    public void copy(View v) {
            Maintenance.copyDB(this, new onFinishListener() {
                    @Override
                    public void onFinish() {
                            LanguageUtil.loadLanguage(PreferencesActivity.this);
                    }
            });
    }

    public void save(View v) {
            LanguageUtil.saveLanguage(this,
                            (Lang) ((Spinner) findViewById(R.id.combo_language))
                                            .getSelectedItem());
            LanguageUtil.loadLanguage(this);
            setResult(RESULT_OK);
            finish();
    }

    public void donate(View v) {
            Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
            startActivity(i);
    }

    public void cancel(View v) {
            finish();
    }

    @Override
    protected void refreshLanguage() {
            ((Button) findViewById(R.id.button_update)).setText(LanguageUtil
                            .getDeviceLabel(LanguageUtil.dev_update));
            ((TextView) findViewById(R.id.language_label))
            .setText(LanguageUtil.getDeviceLabel(LanguageUtil.dev_language));
    }

}
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_visualhelp);
    button = (Button) findViewById(R.id.button_visualhelp);
    button.setOnClickListener(new OnClickListener() {
        public void onClick(View arg0) {
    Intent myIntent = new Intent(PreferencesAtivity.this,
        VisualHelpActivity.class);
        startActivity(myIntent);
        }
    });
}
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
setContentView(R.layout.activity_preferences);

donate = (ImageView) findViewById(R.id.button_donate);
donate.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        donate(v);
    }
});


button = (Button) findViewById(R.id.button_visualhelp);
button.setOnClickListener(new OnClickListener() {
    public void onClick(View arg0) {
Intent myIntent = new Intent(PreferencesAtivity.this,
    VisualHelpActivity.class);
    startActivity(myIntent);
    }
});
Spinner s = (Spinner) findViewById(R.id.combo_language);
Lang[] languages = LanguageUtil.Lang.values();

s.setAdapter(new ArrayAdapter<Lang>(this,
        android.R.layout.simple_dropdown_item_1line, languages));
s.setSelection(getPosition(languages, LanguageUtil.getLanguage()), true);
}