gpt4 book ai didi

java - 如何在对话框参数中打开新 Activity

转载 作者:行者123 更新时间:2023-12-01 11:49:53 24 4
gpt4 key购买 nike

当我单击 ListView 对话框中的“高级”部分时,如何打开我的 SettingsActivty?这是我的代码

public void show (){
ListView listView = new ListView(this);
listView.setAdapter(new ArrayAdapter<String>(this, R.layout.dialog_list, new String[]{"Themes", "Advanced", "Help"}));
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// Do your stuff here.
}
});
Dialog dialog = new Dialog(this);
dialog.setTitle("Settings");
dialog.setContentView(listView);
dialog.show();

}

我知道它会是这样的,但我怎样才能将其融入到具体的论点中

Intent iinent= new Intent(Homeactivity.this,secondactivity.class);
startActivity(iinent);

最佳答案

试试这个代码:

             @Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
switch(arg2){
case(1):
Intent iinent= new Intent(Homeactivity.this,SettingsActivity.class);
startActivity(iinent);

}
}

为了进一步说明,arg0 是您的适配器,arg1 是您单击的 View ,arg2 是位置,arg3 是 id。

编辑:为了进一步澄清,由于“高级”是第二个字符串,并且列表位置具有基于零的索引(它们从 0 开始),因此它将位于位置号 1;

我们还可以采用许多其他方法来实现此目的:

通过适配器(可能是您的最佳选择)。

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
String item = arg0.getAdapter().getItem(arg1);
if(item.equals("Advanced"){
Intent intent = Intent(Homeactivity.this,SettingsActivity.class);
startActivity(intent);
}
}

通过 View :

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
TextView text = (TextView) arg1;
if(text.getText().toString().equals("Advanced"){
Intent intent = Intent(Homeactivity.this,SettingsActivity.class);
startActivity(intent);
}
}

关于java - 如何在对话框参数中打开新 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28879369/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com