无法从课堂开始活动

pla*_*ast 2 android class onitemclick android-activity

我试图从正常的类开始一个活动,我无法弄清楚它是如何完成的,如果可以的话.在itemClick上,我想启动一个扩展ListView类的活动,以显示选项列表.

接收onItemClick的类也不是活动.我将发布代码以试图想象我的意思.

这是我想要启动一个活动的类中的onClick方法.

public void onClick(View v) {
        if (v.equals(this)) {
            notifyObservers(this.getId());
        } else if(v.equals(editButton) || v.equals(deleteButton)) {
            This is where I want to start the activity to show my ListView...
        }

}
Run Code Online (Sandbox Code Playgroud)

这是我扩展ListView类的类.

public class ProfileSettings extends ListActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        String[] mainSettings = getResources().getStringArray(R.array.mainSettings);

        setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, mainSettings));

        ListView lv = getListView();
        lv.setTextFilterEnabled(true);

        lv.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                // Do something
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Nib*_*ain 6

我想这可能会对你有所帮助:

"通过构造函数将活动的上下文传递给您的类或在您的活动中创建一个静态上下文.通过上下文,您可以启动活动,就像您将在活动类中启动它们一样."

    class First extends Activity {
    ...
    Second test = new Second(this);
    test.start();
    ...
}

class Second {
    private Context mContext;
    ...
    public Second(Context c) { this.mContext = c; }
    ...
    public start() { mContext.startActivity(...); }
}
Run Code Online (Sandbox Code Playgroud)

了解更多细节

http://www.anddev.org/view-layout-resource-problems-f27/starting-an-activity-from-a-non-activity-class-t14483.html