2014-03-04 6 views
0

나는 로그인 폼을 만들고 사용자 세부 정보를 Sqlite 데이터베이스로 가져 왔습니다. HomeFragment extends 절편 클래스에는 사용자 이름을 설정하려는 Textview가 있습니다. 로그인 한 직후에는 이름을 얻지 않지만 다른 활동으로 가서 HomeFragment로 이동하면 textview가 사용자의 이름으로 설정됩니다. 누구든지 해결책을 제안 할 수 있습니까?android에서 조각과 활동을 새로 고치는 방법은 무엇입니까?

여기 내 코드입니다.

public class HomeFragment extends Fragment { 
public HomeFragment(){} 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { 
    Databasehandler db=new Databasehandler(getActivity().getApplicationContext()); 
    final View rootView = inflater.inflate(R.layout.fragment_home, container, false); 
    TextView names=(TextView)rootView.findViewById(R.id.textView2); 
    HashMap<String, String> c=db.getAddedContacts(); 
    Toast.makeText(getActivity(), ""+c, Toast.LENGTH_SHORT).show(); 
    names.setText(""+c.get("userlogin")); 
} 
} 
+0

로그인 코드를 표시 할 수 있습니까? –

+0

실제로 페이스 북 로그인 코드입니다. 그리고 그 데이터를 sqlite 데이터베이스에 삽입했습니다. 이름은 실제로 데이터베이스에 삽입됩니다. – user3256145

+0

조각 클래스를 새로 고치는 방법을 제안 할 수 있습니까 – user3256145

답변

0

로그인을위한 asynctask를 만들고 post 메서드에 TextView의 setText를 넣을 수 있습니다. 그리고 pre 메서드에서 progress bar를 놓고 그것을 보이게 만들고 post 메서드에서 숨 깁니다. 텍스트가 즉시 나타나지 않게하십시오.

0

페이스 북의 그래프 API를 사용한다고 가정합니다. 이 경우 로그인이 완료되면 GraphUser 객체를 제공하는 콜백을 얻을 수 있습니다. 해당 콜백에서 textView.setText(graphUser.getName());으로 전화하여 사용자 이름 TextView을 새로 고칩니다.

관련 문제