5

Ant がパッケージを見つけられないようです:android.support.v4.app.NavUtils

コンパイラエラーは次のとおりです。

C:\Android\MyFirstApp\src\com\example\myfirstapp\DisplayMessageActivity.java:7: error: package  android.support.v4.app does not exist

C:\Android\MyFirstApp\src\com\example\myfirstapp\DisplayMessageActivity.java:22: error: cannot find symbol: NavUtils.navigateUpFromSameTask(this);

クラスファイルを含むsdkにandroidディレクトリがあります。

MainActivity.java

package com.example.myfirstapp;

import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.view.View;
import android.content.Intent;
import android.widget.TextView;
import android.widget.EditText;
import android.view.MenuItem;

public class MainActivity extends Activity {
    public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        Intent intent = getIntent();
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

        TextView textView = new TextView(this);
        textView.setTextSize(40);
        textView.setText(message);

        setContentView(textView);
        getActionBar().setDisplayHomeAsUpEnabled(true);
    }
public void sendMessage(View view){
    Intent intent = new Intent(this, DisplayMessageActivity.class);
    EditText editText = (EditText) findViewById(R.id.edit_message);
    String message = editText.getText().toString();
    intent.putExtra(EXTRA_MESSAGE, message);
    startActivity(intent);
}
}

DisplayMessageActivity.java

package com.example.myfirstapp;

import android.app.Activity;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.support.v4.app.NavUtils;

public class DisplayMessageActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        getActionBar().setDisplayHomeAsUpEnabled(true);
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case android.R.id.home:
            NavUtils.navigateUpFromSameTask(this);
            return true;
    }
return super.onOptionsItemSelected(item);
}
}
4

2 に答える 2

10

Coolcfan は (ほぼ) 正しいです。android.support.v4.NavUtils はデフォルトでは含まれていません。

とにかく、ライブラリをビルド パスに追加する必要があります。次の場所にあります。

android-sdk\extras\android\support\v4\android-support-v4.jar

それができたら、すべてうまくいくはずです。

注: 次のようなメタデータ タグを使用して、マニフェストで親クラスを定義したことも確認してください。

<activity
    android:name=".ChildActivity"
    android:label="@string/childActivity_title" >
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".ParentActivity" >
    </meta-data>
</activity>
于 2013-01-08T13:42:27.650 に答える