-4

別のアクティビティ クラスからアクティビティ クラスのメソッドを呼び出しています。メソッドで setContentView() を呼び出して、別の xml ファイル (最初のクラス (呼び出し元のクラス) に表示されているものとは異なる xml) を渡しています。 )、null pointerException を取得しています。以下のコードを見つけてください: クラスの呼び出し

mainListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {



    DisplayMessageActivity d=new DisplayMessageActivity();
    try {
        Toast.makeText(CallWebserviceActivity.this, "position"+position, Toast.LENGTH_SHORT).show();

        d.showmessage(arrays, position,CallWebserviceActivity.this);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

});

setContentView() が呼び出される新しいクラス:

public class DisplayMessageActivity extends Activity {

public void showmessage(ArrayList<JSONObject> arrays,int position,Context context) throws Exception {

 RelativeLayout relatelayout;

    setContentView(R.layout.showdetails);

    Toast.makeText(DisplayMessageActivity.this, "DisplayMessageActivity", Toast.LENGTH_SHORT).show();




}
4

1 に答える 1

2

主な問題はDisplayMessageActivity d=new DisplayMessageActivity();. アクティビティはユーザーが作成するのではなく、ターゲット コンポーネントを説明する情報を含む Intent と startActivity(Intent) を使用するフレームワークによって作成する必要があります。また、通常は onCreate() でコンテンツ ビューを設定します。

この例に従おうとしているように見えますか? http://developer.android.com/training/basics/firstapp/starting-activity.html

于 2015-11-03T16:53:05.733 に答える