0

こんにちは、アクティビティからフラグメントに移行しようとしています。

アクティビティにあるコードは次のとおりです

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TableLayout;
import android.widget.TextView;


public class SummaryActivity extends Activity{
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        SimpleBookManager testBook = new SimpleBookManager();
        setContentView(R.layout.summary);


        TableLayout tableSummary = (TableLayout) this.findViewById(R.id.tableSummary);
        tableSummary.setBackgroundResource(R.drawable.book2);

        TextView nrOfBooksfield = (TextView) this.findViewById(R.id.nrOfBooksInCollection);   
        String text = Integer.toString(testBook.count());
        nrOfBooksfield.setText(text);


    }
}

そして彼女は私の断片

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

public class BFragmentTab extends Fragment{
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
        return inflater.inflate(R.layout.summary, container, false);

    }

SimpleBookManager testBook = new SimpleBookManager();
TableLayout tableSummary = (TableLayout) getView().findViewById(R.id.tableSummary);
tableSummary.setBackgroundResource(R.drawable.book2);
TextView nrOfBooksfield = (TextView) getView().findViewById(R.id.nrOfBooksInCollection);
String text = Integer.toString(testBook.count());
nrOfBooksfield.setText(text);
}

現在tableSummary.setBackgroundResource(R.drawable.book2);、「setBackgroundResource」と「。」の構文エラーであると不平を言っています。識別子が必要です。

nrOfBooksfield.setText(text);また、「"." のコンストラクトの配置ミスと、トークン "text" VariableDeclarationId の構文エラーには、このトークンの後に別のエラーが発生し ます。

エラーは何ですか、それはアクティビティでうまくいきましたが、今ではフラグメントで文句を言います(そして、はい、私はAndroidの初心者です)。

前もって感謝します。

4

2 に答える 2

1

ビューを膨らませて、コードを中に配置しますonCreateView()

   public class BFragmentTab extends Fragment{
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
    View view = inflater.inflate(R.layout.summary, 
    SimpleBookManager testBook = new SimpleBookManager();
    TableLayout tableSummary = (TableLayout) view.findViewById(R.id.tableSummary);
    tableSummary.setBackgroundResource(R.drawable.book2);
    TextView nrOfBooksfield = (TextView) view.findViewById(R.id.nrOfBooksInCollection);
    String text = Integer.toString(testBook.count());
    nrOfBooksfield.setText(text);

    return inflater.inflate(R.layout.summary, container, false);
                }
    }
于 2012-11-14T17:20:22.153 に答える
0

onActivityCreatedたとえば、メソッド内にコードを配置します。

public void onActivityCreated(Bundle savedInstanceState) {
    SimpleBookManager testBook = new SimpleBookManager();
    TableLayout tableSummary = (TableLayout) getView().findViewById(R.id.tableSummary);
    tableSummary.setBackgroundResource(R.drawable.book2);
    TextView nrOfBooksfield = (TextView) getView().findViewById(R.id.nrOfBooksInCollection);
    String text = Integer.toString(testBook.count());
    nrOfBooksfield.setText(text);
}
于 2012-11-14T17:17:59.800 に答える