-3

私が編集したとき、それはまだ編集終了時にエラーです.これは私のコードです MainActivity

package com.example.actionbar;

 import android.os.Bundle;
 import android.app.Activity;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.widget.Toast;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    getActionBar().setDisplayHomeAsUpEnabled(true);
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}
//ถ้ามีการเลือก actionเกิดขึ้น object ที่นำมาใช้จะเรียกชื่อobject นี้ว่า onOptionItemSelected()
public boolean onOptionItemSelect(MenuItem item){
    //ใช้switch case ในการกำหนดว่าเมือ เลือก action นี้เเล้วทำอะไร
    switch (item.getItemId()){
        case R.id.action_search:
            Toast.makeText(this,"Menu search is selected", Toast.LENGTH_SHORT).show();
        break;
        case R.id.action_settings:
            Toast.makeText(this,"Menu setting is selected", Toast.LENGTH_SHORT).show();
        break;
    default:
        break;
    }
    return true;    
}

}

今私はstring.xmlに文字列を追加します

<string name="action_search">Search</string>

これは res/menu/main の私のコードです

<item
    android:id="@+id/action_search"
    android:icon="@drawable/ic_action_search"
    android:name="@string/action_search"
    android:showAsAction="ifRoom"/>

これは (android:label="@string/Theme.AppCompat.Light") でのマニフェスト エラー時の私のコードです。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.actionbar"
   android:versionCode="1"
   android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="18" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.actionbar.MainActivity"
        android:label="@string/Theme.AppCompat.Light" >          <<<<<<<<<<<error
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>

これはR&Theme.AppCompat.Lightの私のエラーです。

 R cannot be resolved to a variable
 No resource found that matches the given name (at 'label' with value   '@string/Theme.AppCompat.Light')

どのようにできるのか ??ありがとうございました

4

2 に答える 2

2

を忘れました+android:id="@id/action_search"これをこれに変更しますandroid:id="@+id/action_search"

そして、名前で文字列を宣言し、ファイルaction_searchのように値を指定したことを確認Searchしてください。strings.xml元。<string name="action_search">Search<string>.

乾杯。

于 2013-08-23T05:19:41.827 に答える
0

あなたが行方不明+です。以下に変更します

    <item android:id="@+id/action_search"

プラス記号 (+) は、これが作成され、リソース (R.java ファイル内) に追加される必要がある新しいリソース名であることを意味します。

id @ の下のトピックを確認してください

http://developer.android.com/guide/topics/ui/declaring-layout.html

指定された名前に一致するリソースが見つかりませんでした ('title' で値 '@string/action_search')。

res/values/strings.xmlaction_searchで定義したことを確認してくださいstrings.xml

また、これをに変更してandroid:showAsAction="ifRoom"削除しますxmlns:yourapp="http://schemas.android.com/apk/res-auto"

また、ActionBar Compact を使用していますか? その場合は、以下のリンクと [メニュー リソースの変更] のトピックを確認してください。

http://android-developers.blogspot.in/2013/08/actionbarcompat-and-io-2013-app-source.html

于 2013-08-23T05:20:16.677 に答える