0

私のアプリケーションでは、linearlayout とその子ボタンがあります。ボタンのタッチリスナーの後、linearlayoutのIDを知る必要があります。これが私のコードです

private final class MyTouchListener implements OnTouchListener 
{   

    public boolean onTouch(View view, MotionEvent motionEvent)
    {               
        if (motionEvent.getAction() == MotionEvent.ACTION_DOWN)
        {
            View v = ((View)view.getParent());
            int id = v.getId();
            Toast.makeText(getApplicationContext(), id, Toast.LENGTH_SHORT).show();

私は android.content.res.Resources$NotFoundException を取得します。linearlayout の ID を取得するにはどうすればよいですか。ありがとう....

4

1 に答える 1

1

使用してみてください:

View v = ((View)view.getParent());
int id = v.getId();
Toast.makeText(getApplicationContext(), String.valueOf(id), Toast.LENGTH_SHORT).show();

これにより、リニア レイアウトの ID が に格納されている整数形式でトーストされR.javaます。

現在の実装は、要素で使用するためのmakeText(Context, int, int)メソッド シグネチャにToast.makeText()一致するようなものです。ただし、文字列識別子が必要な要素を渡すため、それを使用して、strings.xml で一致する文字列を見つけようとします。見つからない場合は、 . をスローします。R.string.*R.id.*Resources$NotFoundException

于 2013-02-26T11:16:17.367 に答える